[INFO] cloning repository https://github.com/IvanWng97/ascii-agents
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/IvanWng97/ascii-agents" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIvanWng97%2Fascii-agents", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIvanWng97%2Fascii-agents'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5e26cfb33cdb0b0f2c347b7526c48dad01103670
[INFO] testing IvanWng97/ascii-agents against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIvanWng97%2Fascii-agents" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/IvanWng97/ascii-agents
[INFO] finished tweaking git repo https://github.com/IvanWng97/ascii-agents
[INFO] tweaked toml for git repo https://github.com/IvanWng97/ascii-agents written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/IvanWng97/ascii-agents on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/IvanWng97/ascii-agents already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 61e3baa198eafc9b01e2387d05891efc79f2832c478aec1b1129b90ac1ea79b1
[INFO] running `Command { std: "docker" "start" "-a" "61e3baa198eafc9b01e2387d05891efc79f2832c478aec1b1129b90ac1ea79b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "61e3baa198eafc9b01e2387d05891efc79f2832c478aec1b1129b90ac1ea79b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "61e3baa198eafc9b01e2387d05891efc79f2832c478aec1b1129b90ac1ea79b1", kill_on_drop: false }`
[INFO] [stdout] 61e3baa198eafc9b01e2387d05891efc79f2832c478aec1b1129b90ac1ea79b1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a09972aabc14f5de1deab389aaabf7778fba3734c192a5ce244229e20b045509
[INFO] running `Command { std: "docker" "start" "-a" "a09972aabc14f5de1deab389aaabf7778fba3734c192a5ce244229e20b045509", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling log v0.4.32
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling compact_str v0.9.1
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling lru v0.18.0
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling inotify v0.11.2
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling notify-types v2.1.0
[INFO] [stderr]    Compiling is-docker v0.2.0
[INFO] [stderr]    Compiling palette v0.7.6
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling by_address v1.2.1
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling is-wsl v0.4.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling notify v8.2.0
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling pixtuoid v0.7.0 (/opt/rustwide/workdir/crates/pixtuoid)
[INFO] [stderr]    Compiling pathdiff v0.2.3
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling fast-srgb8 v1.0.0
[INFO] [stderr]    Compiling open v5.3.5
[INFO] [stderr]    Compiling which v8.0.3
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling toml_edit v0.25.12+spec-1.1.0
[INFO] [stderr]    Compiling pixtuoid-hook v0.7.0 (/opt/rustwide/workdir/crates/pixtuoid-hook)
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling palette_derive v0.7.6
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling ratatui-core v0.1.1
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling inquire v0.9.4
[INFO] [stderr]    Compiling ratatui-widgets v0.3.1
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.1
[INFO] [stderr]    Compiling ratatui-macros v0.7.1
[INFO] [stderr]    Compiling ratatui v0.30.1
[INFO] [stderr]    Compiling pixtuoid-core v0.7.0 (/opt/rustwide/workdir/crates/pixtuoid-core)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.27s
[INFO] running `Command { std: "docker" "inspect" "a09972aabc14f5de1deab389aaabf7778fba3734c192a5ce244229e20b045509", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a09972aabc14f5de1deab389aaabf7778fba3734c192a5ce244229e20b045509", kill_on_drop: false }`
[INFO] [stdout] a09972aabc14f5de1deab389aaabf7778fba3734c192a5ce244229e20b045509
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 512695c602a2774b3502717cff84b62d32f0a76e69e379c678cc60fbd10d6bb9
[INFO] running `Command { std: "docker" "start" "-a" "512695c602a2774b3502717cff84b62d32f0a76e69e379c678cc60fbd10d6bb9", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling pxfm v0.1.29
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling weezl v0.1.12
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling byteorder-lite v0.1.0
[INFO] [stderr]    Compiling filetime v0.2.29
[INFO] [stderr]    Compiling pixtuoid-hook v0.7.0 (/opt/rustwide/workdir/crates/pixtuoid-hook)
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling gif v0.14.2
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling moxcms v0.8.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling insta v1.47.2
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.1
[INFO] [stderr]    Compiling inquire v0.9.4
[INFO] [stderr]    Compiling ratatui v0.30.1
[INFO] [stderr]    Compiling pixtuoid-core v0.7.0 (/opt/rustwide/workdir/crates/pixtuoid-core)
[INFO] [stderr]    Compiling image v0.25.10
[INFO] [stderr]    Compiling pixtuoid v0.7.0 (/opt/rustwide/workdir/crates/pixtuoid)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 51.11s
[INFO] running `Command { std: "docker" "inspect" "512695c602a2774b3502717cff84b62d32f0a76e69e379c678cc60fbd10d6bb9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "512695c602a2774b3502717cff84b62d32f0a76e69e379c678cc60fbd10d6bb9", kill_on_drop: false }`
[INFO] [stdout] 512695c602a2774b3502717cff84b62d32f0a76e69e379c678cc60fbd10d6bb9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] faa821cd4326516ec477aae64a5b9aa797b184c50e192032b0d3172aa54f02e4
[INFO] running `Command { std: "docker" "start" "-a" "faa821cd4326516ec477aae64a5b9aa797b184c50e192032b0d3172aa54f02e4", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.11s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/pixtuoid-ce3285d3d9bf5906)
[INFO] [stdout] 
[INFO] [stdout] running 694 tests
[INFO] [stdout] test cli::tests::cmd_or_default_preserves_explicit_subcommand ... ok
[INFO] [stdout] test cli::tests::cmd_or_default_returns_run_when_no_subcommand ... ok
[INFO] [stdout] test cli::tests::target_name_as_str_covers_all_arms ... ok
[INFO] [stdout] test cli::tests::log_level_typo_is_a_hard_parse_error ... ok
[INFO] [stdout] test cli::tests::empty_socket_is_a_hard_parse_error ... ok
[INFO] [stdout] test cli::tests::max_desks_zero_is_a_hard_parse_error ... ok
[INFO] [stdout] test cli::tests::max_desks_positive_parses ... ok
[INFO] [stdout] test cli::tests::empty_hook_path_is_a_hard_parse_error ... ok
[INFO] [stdout] test cli::tests::log_level_valid_values_map_to_the_same_filter_tokens_as_before ... ok
[INFO] [stdout] test config::tests::config_path_xdg_home_and_relative_branches ... ok
[INFO] [stdout] test config::tests::expand_tilde_only_expands_leading_current_user_home ... ok
[INFO] [stdout] test config::tests::load_missing_returns_defaults ... ok
[INFO] [stdout] test config::tests::load_missing_collects_no_warning ... ok
[INFO] [stdout] test config::tests::load_malformed_collects_reset_warning ... ok
[INFO] [stdout] test config::tests::max_desks_config_set_no_cli ... ok
[INFO] [stdout] test config::tests::max_desks_cli_overrides_config ... ok
[INFO] [stdout] test config::tests::max_desks_no_config_file ... ok
[INFO] [stdout] test config::tests::max_desks_neither_set ... ok
[INFO] [stdout] test config::tests::pack_dir_cli_wins_over_config ... ok
[INFO] [stdout] test config::tests::pack_dir_config_expands_tilde ... ok
[INFO] [stdout] test config::tests::pack_dir_config_used_when_no_cli ... ok
[INFO] [stdout] test config::tests::load_partial_toml ... ok
[INFO] [stdout] test config::tests::pack_dir_neither_returns_none ... ok
[INFO] [stdout] test config::tests::pets_absent_returns_all_with_default_names ... ok
[INFO] [stdout] test config::tests::pets_all_unknown_returns_empty ... ok
[INFO] [stdout] test config::tests::pets_empty_vec_returns_none ... ok
[INFO] [stdout] test config::tests::pets_empty_vec_serializes_as_inline_empty_array ... ok
[INFO] [stdout] test config::tests::pets_entry_absent_name_falls_back_to_default ... ok
[INFO] [stdout] test config::tests::pets_entry_custom_name_attached ... ok
[INFO] [stdout] test config::tests::pets_entry_name_trimmed_empty_falls_back ... ok
[INFO] [stdout] test config::tests::pets_section_is_last_in_serialized_toml ... ok
[INFO] [stdout] test config::tests::pack_dir_loaded_from_toml ... ok
[INFO] [stdout] test config::tests::max_desks_zero_in_config_is_ignored_with_warning ... ok
[INFO] [stdout] test config::tests::pets_missing_kind_is_non_fatal ... ok
[INFO] [stdout] test config::tests::pets_unknown_kind_warns_and_skips ... ok
[INFO] [stdout] test config::tests::load_malformed_returns_defaults ... ok
[INFO] [stdout] test config::tests::resolve_all_none_uses_default ... ok
[INFO] [stdout] test config::tests::resolve_config_wins_over_default ... ok
[INFO] [stdout] test config::tests::resolve_cli_wins_over_config ... ok
[INFO] [stdout] test config::tests::load_unreadable_path_returns_defaults ... ok
[INFO] [stdout] test config::tests::load_ignores_unknown_keys ... ok
[INFO] [stdout] test config::tests::resolve_invalid_cli_theme_errors_even_with_valid_config ... ok
[INFO] [stdout] test config::tests::pets_full_toml_resolves_names ... ok
[INFO] [stdout] test config::tests::full_config_flow_file_drives_theme ... ok
[INFO] [stdout] test config::tests::resolve_invalid_config_theme_falls_back_to_default ... ok
[INFO] [stdout] test config::tests::resolve_pets_collects_unknown_kind_warnings ... ok
[INFO] [stdout] test config::tests::pets_loaded_from_toml ... ok
[INFO] [stdout] test config::tests::resolve_theme_collects_unknown_config_theme_warning ... ok
[INFO] [stdout] test config::tests::full_config_flow_cli_overrides_file ... ok
[INFO] [stdout] test config::tests::resolve_valid_cli_wins_even_when_config_theme_invalid ... ok
[INFO] [stdout] test config::tests::resolve_invalid_cli_theme_hard_errors ... ok
[INFO] [stdout] test config::tests::save_leaves_the_lock_file_in_place ... ok
[INFO] [stdout] test config::tests::save_preserves_max_desks ... ok
[INFO] [stdout] test config::tests::save_preserves_comments_and_unknown_keys_byte_for_byte ... ok
[INFO] [stdout] test install::claude::tests::every_registered_cc_event_decodes ... ok
[INFO] [stdout] test install::claude::tests::install_coerces_non_array_event_to_array ... ok
[INFO] [stdout] test install::claude::tests::install_coerces_non_object_hooks_to_object ... ok
[INFO] [stdout] test install::claude::tests::install_creates_entries_for_all_events ... ok
[INFO] [stdout] test install::claude::tests::install_is_idempotent ... ok
[INFO] [stdout] test install::claude::tests::default_config_path_honors_claude_config_dir ... ok
[INFO] [stdout] test install::claude::tests::hook_command_explicit_path_is_embedded_on_unix ... ok
[INFO] [stdout] test install::claude::tests::install_strips_legacy_ascii_agents_entries ... ok
[INFO] [stdout] test install::claude::tests::hook_command_auto_resolved_stays_bare_on_unix ... ok
[INFO] [stdout] test install::claude::tests::merge_install_on_empty_string_produces_valid_populated_config ... ok
[INFO] [stdout] test install::claude::tests::install_preserves_unrelated_entries ... ok
[INFO] [stdout] test install::claude::tests::merge_install_rejects_invalid_json ... ok
[INFO] [stdout] test config::tests::save_on_a_missing_config_creates_it_without_a_backup ... ok
[INFO] [stdout] test config::tests::save_preserves_pets ... ok
[INFO] [stdout] test install::claude::tests::merge_install_idempotent_reports_unchanged ... ok
[INFO] [stdout] test config::tests::save_then_load_roundtrip ... ok
[INFO] [stdout] test config::tests::save_then_load_roundtrips_and_leaves_no_tmp_sidecar ... ok
[INFO] [stdout] test config::tests::save_version_preserves_theme ... ok
[INFO] [stdout] test install::claude::tests::merge_install_rejects_valid_json_that_is_not_an_object ... ok
[INFO] [stdout] test install::claude::tests::merge_uninstall_no_pixtuoid_hooks_reports_unchanged ... ok
[INFO] [stdout] test install::claude::tests::merge_uninstall_on_empty_string_is_noop ... ok
[INFO] [stdout] test config::tests::save_backs_up_an_existing_config_once ... ok
[INFO] [stdout] test config::tests::save_version_inserts_new_key_before_pets_section ... ok
[INFO] [stdout] test install::claude::tests::uninstall_non_array_hook_value_does_not_panic ... ok
[INFO] [stdout] test install::claude::tests::uninstall_non_object_doc_returns_unchanged ... ok
[INFO] [stdout] test install::claude::tests::uninstall_removes_sentinel_entries_only ... ok
[INFO] [stdout] test config::tests::save_version_persists ... ok
[INFO] [stdout] test install::claude::tests::uninstall_strips_legacy_keeps_user_entries ... ok
[INFO] [stdout] test install::claude::tests::uninstall_strips_legacy_ascii_agents_entries ... ok
[INFO] [stdout] test install::claude::tests::unix_entry_stays_bare_shell_form ... ok
[INFO] [stdout] test install::claude::tests::windows_entry_is_exec_form_with_absolute_path ... ok
[INFO] [stdout] test install::codex::tests::every_registered_codex_event_decodes ... ok
[INFO] [stdout] test config::tests::save_version_refuses_to_overwrite_a_malformed_config ... ok
[INFO] [stdout] test config::tests::update_config_refuses_to_overwrite_a_malformed_config ... ok
[INFO] [stdout] test config::tests::update_config_refuses_a_type_invalid_config ... ok
[INFO] [stdout] test install::claude::tests::uninstall_drops_empty_hooks_map ... ok
[INFO] [stdout] test install::codex::tests::default_config_path_honors_codex_home_env ... ok
[INFO] [stdout] test config::tests::update_config_still_accepts_unknown_keys ... ok
[INFO] [stdout] test install::codex::tests::hook_command_errors_on_non_utf8_path ... ok
[INFO] [stdout] test install::codex::tests::hook_command_prefixes_source_for_valid_path ... ok
[INFO] [stdout] test install::codex::tests::hook_command_quotes_path_with_spaces ... ok
[INFO] [stdout] test install::hook_cmd::tests::rejects_a_shell_unsafe_source_name ... ok
[INFO] [stdout] test install::codex::tests::uninstall_doc_without_hooks_returns_unchanged ... ok
[INFO] [stdout] test install::codex::tests::uninstall_no_pixtuoid_hooks_reports_unchanged ... ok
[INFO] [stdout] test install::codex::tests::install_same_command_reports_unchanged ... ok
[INFO] [stdout] test install::codex::tests::install_writes_no_matcher ... ok
[INFO] [stdout] test install::codex::tests::uninstall_removes_empty_groups_and_events ... ok
[INFO] [stdout] test install::codex::tests::install_is_idempotent_across_different_paths ... ok
[INFO] [stdout] test install::codex::tests::install_coerces_non_table_hooks_to_table ... ok
[INFO] [stdout] test install::codex::tests::uninstall_legacy_basename_fallback ... ok
[INFO] [stdout] test install::codex::tests::uninstall_non_table_doc_returns_unchanged ... ok
[INFO] [stdout] test install::codex::tests::uninstall_keeps_user_handler_in_mixed_group ... ok
[INFO] [stdout] test install::claude::tests::reinstall_adds_newly_registered_events_to_an_older_install ... ok
[INFO] [stdout] test install::codex::tests::install_does_not_write_features_hooks ... ok
[INFO] [stdout] test install::hook_cmd::unix::tests::quotes_path_with_spaces ... ok
[INFO] [stdout] test install::hook_cmd::unix::tests::escapes_embedded_single_quote ... ok
[INFO] [stdout] test install::hook_cmd::tests::valid_source_keeps_the_env_prefix_form_byte_for_byte ... ok
[INFO] [stdout] test install::hook_cmd::windows::tests::windows_command_rejects_a_cmd_unsafe_source ... ok
[INFO] [stdout] test install::codex::tests::install_creates_groups_for_all_events_with_sentinel ... ok
[INFO] [stdout] test install::codex::tests::install_coerces_non_array_event_to_array ... ok
[INFO] [stdout] test install::hook_cmd::unix::tests::quotes_plain_path ... ok
[INFO] [stdout] test install::hook_cmd::windows::tests::windows_command_is_bare_for_a_clean_path ... ok
[INFO] [stdout] test install::hook_cmd::windows::tests::windows_command_rejects_when_8dot3_is_unavailable ... ok
[INFO] [stdout] test install::hook_cmd::windows::tests::windows_command_treats_cmd_first_token_delimiters_as_unsafe ... ok
[INFO] [stdout] test install::hook_cmd::windows::tests::windows_command_uses_8dot3_short_form_when_path_has_a_space ... ok
[INFO] [stdout] test install::io::tests::checked_home_join_joins_a_resolved_home ... ok
[INFO] [stdout] test install::io::tests::checked_home_join_errors_without_home ... ok
[INFO] [stdout] test install::io::tests::resolve_symlink_dangling_returns_target ... ok
[INFO] [stdout] test install::io::tests::backup_once_idempotent_and_remove ... ok
[INFO] [stdout] test install::io::tests::user_home_is_none_when_no_home_vars ... ok
[INFO] [stdout] test install::io::tests::user_home_userprofile_wins_on_windows_home_wins_on_unix ... ok
[INFO] [stdout] test install::io::tests::resolve_symlink_follows_chain ... ok
[INFO] [stdout] test install::io::tests::backup_and_lock_and_tmp_names_use_string_append ... ok
[INFO] [stdout] test install::io::tests::lock_config_excludes_a_second_locker_until_dropped ... ok
[INFO] [stdout] test install::io::tests::config_lock_read_and_backup_pin_the_lock_time_resolution ... ok
[INFO] [stdout] test install::reasonix::tests::every_registered_reasonix_event_decodes ... ok
[INFO] [stdout] test install::io::tests::default_hook_binary_sibling_appends_exe_suffix ... ok
[INFO] [stdout] test install::io::tests::resolve_symlink_relative_target ... ok
[INFO] [stdout] test install::io::tests::read_config_missing_returns_empty_string ... ok
[INFO] [stdout] test install::io::tests::write_config_atomic_creates_new_files_private ... ok
[INFO] [stdout] test install::reasonix::tests::hook_command_stamps_source_and_quotes ... ok
[INFO] [stdout] test install::io::tests::write_atomic_under_a_held_guard_does_not_self_deadlock ... ok
[INFO] [stdout] test install::reasonix::tests::hook_command_errors_on_non_utf8_path ... ok
[INFO] [stdout] test install::io::tests::resolve_symlink_follows_single_hop ... ok
[INFO] [stdout] test install::reasonix::tests::install_creates_flat_entries_for_all_events ... ok
[INFO] [stdout] test install::reasonix::tests::install_is_idempotent_and_replaces_across_paths ... ok
[INFO] [stdout] test install::io::tests::lock_config_resolves_symlinks_to_the_real_target ... ok
[INFO] [stdout] test install::io::tests::read_config_returns_raw_content ... ok
[INFO] [stdout] test install::io::tests::rename_with_retry_moves_file ... ok
[INFO] [stdout] test install::reasonix::tests::install_coerces_non_object_hooks_and_non_array_events ... ok
[INFO] [stdout] test install::reasonix::tests::install_preserves_user_entries ... ok
[INFO] [stdout] test install::io::tests::resolve_symlink_regular_file_returns_as_is ... ok
[INFO] [stdout] test install::io::tests::resolve_symlink_cycle_terminates_after_budget ... ok
[INFO] [stdout] test install::reasonix::tests::merge_install_idempotent_reports_unchanged ... ok
[INFO] [stdout] test install::io::tests::read_config_empty_file_returns_empty_string ... ok
[INFO] [stdout] test install::io::tests::write_config_atomic_through_symlink_preserves_link ... ok
[INFO] [stdout] test install::reasonix::tests::merge_install_rejects_invalid_json ... ok
[INFO] [stdout] test install::reasonix::tests::merge_install_rejects_valid_json_that_is_not_an_object ... ok
[INFO] [stdout] test install::reasonix::tests::merge_uninstall_no_pixtuoid_hooks_reports_unchanged ... ok
[INFO] [stdout] test install::reasonix::tests::uninstall_all_managed_drops_hooks_map ... ok
[INFO] [stdout] test install::target::tests::by_name_resolves_claude_and_rejects_unknown ... ok
[INFO] [stdout] test install::reasonix::tests::uninstall_removes_only_managed_entries_and_empty_maps ... ok
[INFO] [stdout] test install::tests::all_with_both_present_returns_both ... ok
[INFO] [stdout] test install::tests::all_with_nothing_present_is_nothing_detected ... ok
[INFO] [stdout] test install::tests::confirm_read_eof_and_error_cancel_but_entered_line_decides ... ok
[INFO] [stdout] test install::tests::empty_env_override_counts_as_unset_at_the_live_read ... ok
[INFO] [stdout] test install::target::tests::is_present_false_when_default_path_unresolvable ... ok
[INFO] [stdout] test install::tests::explicit_all_with_config_is_conflict ... ok
[INFO] [stdout] test install::tests::explicit_target_claude_ignores_detection ... ok
[INFO] [stdout] test install::tests::explicit_target_codex_resolves_to_codex ... ok
[INFO] [stdout] test install::tests::has_hooks_empty_config_is_false ... ok
[INFO] [stdout] test install::tests::interactive_pick_only_on_bare_tty ... ok
[INFO] [stdout] test install::tests::is_drive_relative_only_matches_prefix_without_root ... ok
[INFO] [stdout] test install::tests::confirm_answer_parses_default_yes ... ok
[INFO] [stdout] test install::target::tests::config_present_checks_file_existence ... ok
[INFO] [stdout] test install::tests::has_hooks_changed_vs_unchanged_arms ... ok
[INFO] [stdout] test install::tests::needs_confirm_only_multi_target_interactive_no_yes ... ok
[INFO] [stdout] test install::tests::no_target_non_tty_multiple_present_is_conflict ... ok
[INFO] [stdout] test install::tests::no_target_non_tty_single_claude_installs_claude ... ok
[INFO] [stdout] test install::tests::no_target_nothing_present_is_nothing_detected ... ok
[INFO] [stdout] test install::tests::no_target_tty_returns_detected ... ok
[INFO] [stdout] test install::tests::resolve_hook_binary_absolutizes_a_relative_explicit_path ... ok
[INFO] [stdout] test install::tests::resolve_hook_binary_cli_flag_outranks_env_override ... ok
[INFO] [stdout] test install::tests::resolve_hook_binary_env_override_routes_through_the_explicit_arm ... ok
[INFO] [stdout] test install::tests::resolve_hook_binary_explicit_path_wins ... ok
[INFO] [stdout] test install::tests::resolve_hook_binary_no_overrides_uses_locate ... ok
[INFO] [stdout] test install::tests::resolve_plan_nothing_detected_is_ok_empty ... ok
[INFO] [stdout] test install::tests::resolve_plan_targets_passes_through ... ok
[INFO] [stdout] test install::tests::run_each_all_ok_returns_ok ... ok
[INFO] [stdout] test install::tests::run_interactive_single_candidate_runs_op_once ... ok
[INFO] [stdout] test install::tests::run_interactive_zero_candidates_prints_and_skips_op ... ok
[INFO] [stdout] test install::tests::run_uninstall_absent_config_creates_no_dirs_or_lock ... ok
[INFO] [stdout] test runtime::driver::tests::headless_loop_shuts_down_on_a_delivered_signal ... ok
[INFO] [stdout] test install::tests::run_uninstall_fake_unchanged_is_noop ... ok
[INFO] [stdout] test install::tests::target_name_enum_and_registry_cover_each_other ... ok
[INFO] [stdout] test runtime::tests::boot_capacities_falls_back_to_default_on_tiny_terminal ... ok
[INFO] [stdout] test runtime::driver::tests::headless_loop_keeps_serving_after_a_failed_signal_registration ... ok
[INFO] [stdout] test runtime::tests::capacity_for_tiny_terminal_returns_zero ... ok
[INFO] [stdout] test runtime::tests::capacity_for_zero_rows_returns_zero ... ok
[INFO] [stdout] test runtime::tests::capacity_for_small_terminal ... ok
[INFO] [stdout] test install::tests::resolve_hook_binary_claude_falls_back_to_bare_name_when_unresolvable ... ok
[INFO] [stdout] test install::tests::resolve_hook_binary_codex_errors_when_unresolvable ... ok
[INFO] [stdout] test install::tests::resolve_plan_conflict_is_err ... ok
[INFO] [stdout] test install::tests::run_each_reports_failed_count_and_bails ... ok
[INFO] [stdout] test install::tests::run_install_fake_target_is_up_to_date_noop ... ok
[INFO] [stdout] test install::tests::run_install_fails_fast_while_the_config_lock_is_held ... ok
[INFO] [stdout] test install::tests::has_hooks_unreadable_config_is_true ... ok
[INFO] [stdout] test install::tests::run_uninstall_fake2_changed_writes_and_removes_backup ... ok
[INFO] [stdout] test runtime::tests::capacity_for_normal_terminal ... ok
[INFO] [stdout] test install::tests::run_install_claude_writes_sentinel_and_backs_up ... ok
[INFO] [stdout] test runtime::tests::summarize_reports_each_activity_state ... ok
[INFO] [stdout] test tui::anim::tests::ease_in_quad_endpoints ... ok
[INFO] [stdout] test tui::anim::tests::ease_out_cubic_endpoints ... ok
[INFO] [stdout] test tui::anim::tests::eased_progress_at_end_is_one ... ok
[INFO] [stdout] test runtime::tests::summarize_strips_terminal_escapes_from_untrusted_fields ... ok
[INFO] [stdout] test tui::anim::tests::eased_progress_at_start_is_zero ... ok
[INFO] [stdout] test tui::anim::tests::eased_progress_past_end_clamps_to_one ... ok
[INFO] [stdout] test tui::anim::tests::all_curves_are_monotone_non_decreasing ... ok
[INFO] [stdout] test tui::anim::tests::eased_progress_now_before_start_clamps_to_zero ... ok
[INFO] [stdout] test tui::anim::tests::ease_in_out_cubic_endpoints ... ok
[INFO] [stdout] test tui::anim::tests::eased_progress_zero_duration_is_complete ... ok
[INFO] [stdout] test tui::chitchat::tests::distinct_waypoints_do_not_merge ... ok
[INFO] [stdout] test tui::anim::tests::linear_endpoints ... ok
[INFO] [stdout] test tui::chitchat::tests::meeting_slots_in_same_room_form_one_conversation ... ok
[INFO] [stdout] test tui::chitchat::tests::lounge_couch_seats_share_one_venue ... ok
[INFO] [stdout] test tui::anim::tests::out_of_range_inputs_clamp ... ok
[INFO] [stdout] test tui::chitchat::tests::no_bubble_after_four_turns ... ok
[INFO] [stdout] test tui::chitchat::tests::participant_join_extends_rotation ... ok
[INFO] [stdout] test tui::chitchat::tests::supports_chitchat_kinds ... ok
[INFO] [stdout] test tui::chitchat::tests::round_robin_two_participants_alternates ... ok
[INFO] [stdout] test tui::chitchat::tests::single_visitor_starts_no_conversation ... ok
[INFO] [stdout] test tui::chitchat::tests::test_expires_after_total_ms ... ok
[INFO] [stdout] test tui::chitchat::tests::empty_participants_yields_no_bubble ... ok
[INFO] [stdout] test tui::chitchat::tests::update_and_collect_expires_old ... ok
[INFO] [stdout] test tui::chitchat::tests::round_robin_three_participants_wraps ... ok
[INFO] [stdout] test tui::dashboard::tests::build_rows_carries_waiting_and_active_state ... ok
[INFO] [stdout] test tui::dashboard::tests::clamp_scroll_edge_cases ... ok
[INFO] [stdout] test tui::dashboard::tests::fold_all_then_unfold_all_flip_every_root ... ok
[INFO] [stdout] test tui::dashboard::tests::build_dashboard_rows_empty_scene_is_empty ... ok
[INFO] [stdout] test tui::dashboard::tests::clamp_scroll_keeps_selection_in_view ... ok
[INFO] [stdout] test tui::dashboard::tests::move_selection_steps_and_clamps_and_reanchors ... ok
[INFO] [stdout] test tui::dashboard::tests::reanchor_keeps_visible_else_first ... ok
[INFO] [stdout] test tui::dashboard::tests::orphan_whose_parent_is_absent_is_treated_as_root ... ok
[INFO] [stdout] test tui::dashboard::tests::root_at_threshold_stays_expanded ... ok
[INFO] [stdout] test tui::dashboard::tests::resolve_floor_finds_selected_agents_floor ... ok
[INFO] [stdout] test tui::dashboard::tests::rows_are_tree_ordered_roots_by_desk_index_children_following_parent ... ok
[INFO] [stdout] test tui::dashboard::tests::root_over_threshold_auto_collapses_and_hides_its_subtree ... ok
[INFO] [stdout] test tui::dispatch_tests::dashboard_modal_passes_quit_chord_but_swallows_other_keys ... ok
[INFO] [stdout] test tui::dispatch_tests::dashboard_tier_maps_nav_fold_jump_close ... ok
[INFO] [stdout] test tui::dispatch_tests::floor_nav_guards ... ok
[INFO] [stdout] test tui::dashboard::tests::unfold_all_overrides_auto_collapse_and_sticks ... ok
[INFO] [stdout] test tui::dispatch_tests::help_overlay_has_priority_and_dismisses ... ok
[INFO] [stdout] test tui::dispatch_tests::normal_quit_pause_picker_help ... ok
[INFO] [stdout] test tui::dispatch_tests::tab_swallowed_while_other_overlays_open ... ok
[INFO] [stdout] test tui::dispatch_tests::tab_toggles_dashboard_from_normal_scene ... ok
[INFO] [stdout] test tui::dispatch_tests::theme_picker_preview_commit_cancel_and_clamps ... ok
[INFO] [stdout] test tui::chitchat::tests::round_robin_cycles_all_participants ... ok
[INFO] [stdout] test tui::dispatch_tests::version_popup_enter_dismisses_esc_quits ... ok
[INFO] [stdout] test tui::dispatch_tests::only_press_events_dispatch ... ok
[INFO] [stdout] test tui::floor::tests::build_floor_scene_filters_and_remaps ... ok
[INFO] [stdout] test tui::floor::tests::build_floor_scene_remap_is_local_global_coincident ... ok
[INFO] [stdout] test tui::floor::tests::build_floor_scene_skips_agent_below_grown_offset ... ok
[INFO] [stdout] test tui::floor::tests::door_anim_excludes_arrived_entry_profiles ... ok
[INFO] [stdout] test tui::floor::tests::floor_ctx_default_equals_new ... ok
[INFO] [stdout] test install::io::tests::resolve_symlink_nonexistent_returns_as_is ... ok
[INFO] [stdout] test tui::floor::tests::floor_local_desk_remaps_to_floor_range ... ok
[INFO] [stdout] test tui::floor::tests::floor_of_maps_desk_to_floor ... ok
[INFO] [stdout] test tui::floor::tests::light_converges_to_min_when_empty_long_enough ... ok
[INFO] [stdout] test tui::floor::tests::light_eases_toward_min_after_debounce ... ok
[INFO] [stdout] test tui::floor::tests::light_holds_during_debounce_window ... ok
[INFO] [stdout] test tui::floor::tests::light_large_dt_does_not_overshoot_or_nan ... ok
[INFO] [stdout] test tui::floor::tests::light_resets_empty_since_when_repopulated ... ok
[INFO] [stdout] test tui::floor::tests::light_rises_back_when_repopulated ... ok
[INFO] [stdout] test tui::floor::tests::light_snap_to_empty_forces_min_level ... ok
[INFO] [stdout] test tui::floor::tests::light_steady_state_populated ... ok
[INFO] [stdout] test tui::floor::tests::lighting_state_default_equals_new ... ok
[INFO] [stdout] test tui::floor::tests::num_floors_empty ... ok
[INFO] [stdout] test tui::floor::tests::num_floors_exact_fit ... ok
[INFO] [stdout] test tui::embedded_pack::tests::embedded_pack_all_palette_keys_are_distinct_rgbs ... ok
[INFO] [stdout] test tui::floor::tests::num_floors_variable_capacities ... ok
[INFO] [stdout] test tui::anim::tests::eased_progress_applies_curve ... ok
[INFO] [stdout] test tui::floor::tests::light_backward_clock_jump_does_not_move_level ... ok
[INFO] [stdout] test tui::chitchat::tests::test_not_expired_before_total_ms ... ok
[INFO] [stdout] test tui::floor::tests::num_floors_with_overflow ... ok
[INFO] [stdout] test tui::chitchat::tests::two_meeting_rooms_host_separate_conversations ... ok
[INFO] [stdout] test tui::embedded_pack::tests::embedded_pack_recolor_keys_are_distinct_rgbs ... ok
[INFO] [stdout] test tui::floor::tests::transition_t_clamps_past_duration ... ok
[INFO] [stdout] test tui::frame_cache::tests::new_cache_is_empty_then_populated_after_get_or_make ... ok
[INFO] [stdout] test install::io::tests::write_config_atomic_preserves_target_mode ... ok
[INFO] [stdout] test install::tests::run_uninstall_fails_fast_while_the_config_lock_is_held ... ok
[INFO] [stdout] test tui::floor::tests::transition_t_progresses ... ok
[INFO] [stdout] test tui::hit_test::tests::cat_hit_test_inside_sit_sprite ... ok
[INFO] [stdout] test runtime::tests::capacity_matches_renderer_formula ... ok
[INFO] [stdout] test tui::hit_test::tests::cat_hit_test_outside_returns_false ... ok
[INFO] [stdout] test runtime::tests::seed_can_produce_distinct_capacities ... ok
[INFO] [stdout] test tui::hit_test::tests::cat_hit_test_sleep_smaller_box ... ok
[INFO] [stdout] test tui::hit_test::tests::furniture_hit_test_ficus_via_synthetic_plant ... ok
[INFO] [stdout] test tui::embedded_pack::tests::load_sprite_pack_from_missing_custom_dir_errors ... ok
[INFO] [stdout] test tui::hit_test::tests::furniture_hit_test_finds_elevator ... ok
[INFO] [stdout] test tui::hit_test::tests::furniture_hit_test_returns_none_for_empty_space ... ok
[INFO] [stdout] test tui::motion::tests::arrival_pause_holds_walking_out_phase ... ok
[INFO] [stdout] test tui::hit_test::tests::furniture_hit_test_finds_meeting_table ... ok
[INFO] [stdout] test tui::hit_test::tests::from_tui_misses_empty_space ... ok
[INFO] [stdout] test tui::hit_test::tests::furniture_hit_test_bulletin_board_via_synthetic_wall_decor ... ok
[INFO] [stdout] test tui::hit_test::tests::furniture_hit_test_respects_floor_seed ... ok
[INFO] [stdout] test tui::motion::tests::far_waypoint_full_cycle_is_longer ... ok
[INFO] [stdout] test tui::hit_test::tests::furniture_hit_test_finds_desk ... ok
[INFO] [stdout] test tui::hit_test::tests::from_tui_skips_agent_with_out_of_range_desk ... ok
[INFO] [stdout] test tui::motion::tests::bootstrap_fast_forwards_cycle_n ... ok
[INFO] [stdout] test tui::motion::tests::motion_state_new_default_fields ... ok
[INFO] [stdout] test tui::motion::tests::at_waypoint_resnapshots_back_profile_when_missing ... ok
[INFO] [stdout] test tui::motion::tests::at_waypoint_transitions_to_walking_back_after_dwell ... ok
[INFO] [stdout] test tui::motion::tests::path_len_diagonal_segment ... ok
[INFO] [stdout] test tui::motion::tests::fresh_idle_inits_to_seated_phase ... ok
[INFO] [stdout] test tui::hit_test::tests::from_tui_hits_agent_at_its_desk_anchor ... ok
[INFO] [stdout] test runtime::tests::explicit_cap_clamps_to_layout_capacity_not_above ... ok
[INFO] [stdout] test tui::hit_test::tests::coffee_machine_hit_test_returns_true_for_machine_area ... ok
[INFO] [stdout] test tui::motion::tests::idempotent_same_now_does_not_mutate_state ... ok
[INFO] [stdout] test tui::hit_test::tests::coffee_machine_hit_test_returns_false_for_origin ... ok
[INFO] [stdout] test tui::motion::tests::path_len_empty_is_zero ... ok
[INFO] [stdout] test tui::motion::tests::path_len_multi_segment_sums ... ok
[INFO] [stdout] test tui::motion::tests::path_len_orthogonal_segment ... ok
[INFO] [stdout] test tui::motion::tests::path_len_single_point_is_zero ... ok
[INFO] [stdout] test tui::motion::tests::stale_resume_resyncs_without_replay ... ok
[INFO] [stdout] test tui::motion::tests::non_trip_cycle_stays_seated ... ok
[INFO] [stdout] test tui::motion::tests::walking_back_missing_profile_recovers_without_panic ... ok
[INFO] [stdout] test tui::hit_test::tests::from_tui_oob_desk_at_capacity_boundary_does_not_wrap_to_desk_zero ... ok
[INFO] [stdout] test tui::motion::tests::walking_out_missing_profile_recovers_without_panic ... ok
[INFO] [stdout] test tui::embedded_pack::tests::load_sprite_pack_from_custom_dir_merges_with_embedded ... ok
[INFO] [stdout] test tui::motion::tests::long_dwell_never_trips_stale_resume_on_screen ... ok
[INFO] [stdout] test tui::motion::tests::pick_wander_dest_falls_back_to_aimless_when_boxed_in ... ok
[INFO] [stdout] test tui::motion::tests::seated_transitions_to_walking_out_on_trip_cycle ... ok
[INFO] [stdout] test tui::motion::tests::walking_back_arrival_increments_cycle_n_and_resets_to_seated ... ok
[INFO] [stdout] test tui::motion::tests::walking_out_transitions_to_at_waypoint_on_arrival ... ok
[INFO] [stdout] test tui::motion::tests::wander_dest_for_pantry_is_the_home_desk_stand_point ... ok
[INFO] [stdout] test tui::pathfind::tests::astar_is_empty_then_invalidate_clears_cache ... ok
[INFO] [stdout] test tui::pathfind::tests::cell_center_is_midpoint_of_cell ... ok
[INFO] [stdout] test tui::pathfind::tests::cell_in_zone_false_when_none ... ok
[INFO] [stdout] test tui::pathfind::tests::cell_in_zone_true_when_inside ... ok
[INFO] [stdout] test tui::pathfind::tests::cell_of_maps_pixel_to_cell ... ok
[INFO] [stdout] test tui::pathfind::tests::degenerate_grid_returns_fallbacks ... ok
[INFO] [stdout] test tui::pathfind::tests::heuristic_diagonal_uses_octile ... ok
[INFO] [stdout] test tui::pathfind::tests::heuristic_straight_horizontal ... ok
[INFO] [stdout] test tui::pathfind::tests::heuristic_zero_for_same_cell ... ok
[INFO] [stdout] test tui::pathfind::tests::path_clear_under_blocked_returns_false ... ok
[INFO] [stdout] test tui::pathfind::tests::path_clear_under_empty_overlay_always_true ... ok
[INFO] [stdout] test tui::pathfind::tests::path_clear_under_misses_obstacle_returns_true ... ok
[INFO] [stdout] test tui::pathfind::tests::cell_walkable_on_open_mask ... ok
[INFO] [stdout] test tui::motion::tests::dwell_time_independent_of_path_length ... ok
[INFO] [stdout] test tui::pathfind::tests::router_default_set_preferred_zone_is_a_noop ... ok
[INFO] [stdout] test tui::pathfind::tests::cell_in_zone_false_when_outside ... ok
[INFO] [stdout] test tui::pathfind::tests::cell_walkable_false_when_blocked_by_overlay ... ok
[INFO] [stdout] test tui::pathfind::tests::find_path_returns_none_when_target_completely_surrounded ... ok
[INFO] [stdout] test tui::pathfind::tests::find_path_none_when_two_regions_split_by_a_full_wall ... ok
[INFO] [stdout] test tui::pathfind::tests::router_falls_back_to_straight_line_when_path_is_none ... ok
[INFO] [stdout] test tui::pathfind::tests::simplify_collapses_collinear ... ok
[INFO] [stdout] test tui::pathfind::tests::router_caches_until_overlay_changes ... ok
[INFO] [stdout] test runtime::tests::boot_capacities_uses_each_floor_seed ... ok
[INFO] [stdout] test tui::pet::tests::anim_names_match_kind ... ok
[INFO] [stdout] test tui::pet::tests::default_name_cat_and_dog ... ok
[INFO] [stdout] test tui::embedded_pack::tests::load_sprite_pack_resolves_then_falls_back_via_xdg ... ok
[INFO] [stdout] test tui::pet::tests::default_name_all_nonempty ... ok
[INFO] [stdout] test tui::pet::tests::every_pet_kind_is_reachable_from_config ... ok
[INFO] [stdout] test tui::pet::tests::dog_does_not_sleep_near_idle ... ok
[INFO] [stdout] test tui::pathfind::tests::routes_around_dynamic_obstacle ... ok
[INFO] [stdout] test tui::pet::tests::from_config_name_unknown_returns_none ... ok
[INFO] [stdout] test tui::pet::tests::hitbox_walk_larger_than_sit ... ok
[INFO] [stdout] test tui::pet::tests::select_pet_empty_returns_none ... ok
[INFO] [stdout] test tui::pet::tests::select_pet_single_always_returns_it ... ok
[INFO] [stdout] test tui::pet::tests::select_pet_two_pets_alternates_by_seed ... ok
[INFO] [stdout] test tui::pet::tests::hitbox_unknown_anim_returns_default ... ok
[INFO] [stdout] test tui::pixel_painter::ambient::tests::ceiling_halo_near_edge_does_not_panic ... ok
[INFO] [stdout] test tui::pixel_painter::ambient::tests::ceiling_halo_skipped_on_light_theme ... ok
[INFO] [stdout] test tui::pixel_painter::ambient::tests::dust_mote_positions_deterministic_per_seed ... ok
[INFO] [stdout] test tui::pixel_painter::ambient::tests::dust_motes_alpha_fades_at_edges ... ok
[INFO] [stdout] test tui::pixel_painter::ambient::tests::ceiling_halo_painted_on_dark_theme ... ok
[INFO] [stdout] test tui::pixel_painter::ambient::tests::dust_motes_clamp_to_a_tiny_buffer ... ok
[INFO] [stdout] test tui::pet::tests::hitbox_sleep_shorter_than_sit ... ok
[INFO] [stdout] test tui::pathfind::tests::snap_to_walkable_skips_out_of_bounds_corner_neighbours ... ok
[INFO] [stdout] test tui::pet::tests::defaulted_uses_default_name ... ok
[INFO] [stdout] test tui::pet::tests::dog_anim_methods ... ok
[INFO] [stdout] test tui::pathfind::tests::straight_line_when_unobstructed ... ok
[INFO] [stdout] test tui::pixel_painter::background::lighting::tests::ellipse_blend_degenerate_is_a_noop ... ok
[INFO] [stdout] test tui::pathfind::tests::snap_to_walkable_finds_nearby_cell_when_blocked ... ok
[INFO] [stdout] test tui::pathfind::tests::vertical_wall_is_impassable_except_through_the_door ... ok
[INFO] [stdout] test tui::pixel_painter::ambient::tests::dust_motes_drift_over_time ... ok
[INFO] [stdout] test tui::pixel_painter::background::lighting::tests::ellipse_blend_paints_when_valid ... ok
[INFO] [stdout] test tui::pixel_painter::background::lighting::tests::neon_panel_off_edge_does_not_panic ... ok
[INFO] [stdout] test tui::pixel_painter::background::tests::fog_floor_tint_is_brighter_than_overcast ... ok
[INFO] [stdout] test tui::pathfind::tests::snap_point_to_walkable_returns_walkable_cell ... ok
[INFO] [stdout] test tui::pixel_painter::background::tests::lightning_flash_storm_only_and_mid_strike_only ... ok
[INFO] [stdout] test tui::pixel_painter::background::tests::lightning_strikes_are_jittered_not_metronomic ... ok
[INFO] [stdout] test tui::pixel_painter::background::tests::short_buffer_clamps_spill_and_window_without_panic ... ok
[INFO] [stdout] test tui::pathfind::tests::snap_to_walkable_returns_cell_when_already_walkable ... ok
[INFO] [stdout] test tui::pathfind::tests::routes_around_meeting_room_wall ... ok
[INFO] [stdout] test tui::pixel_painter::background::tests::skyline_haze_obscures_fog_and_storm_only_when_expected ... ok
[INFO] [stdout] test tui::pixel_painter::background::tests::storm_window_bolt_brightens_glass_during_the_flash ... ok
[INFO] [stdout] test tui::pixel_painter::background::tests::weather_floor_tint_clear_is_near_neutral ... ok
[INFO] [stdout] test tui::pixel_painter::background::tests::weather_floor_tint_differs_by_variant ... ok
[INFO] [stdout] test tui::pixel_painter::background::time_of_day::tests::atmo_clear_beams_hard ... ok
[INFO] [stdout] test tui::pixel_painter::background::time_of_day::tests::atmo_thick_cloud_kills_the_beam ... ok
[INFO] [stdout] test tui::pixel_painter::background::time_of_day::tests::atmo_haze_and_snow_keep_a_faint_beam ... ok
[INFO] [stdout] test tui::pixel_painter::background::time_of_day::tests::daylight_floor_overlay_brightens_at_positive_strength ... ok
[INFO] [stdout] test tui::pixel_painter::background::time_of_day::tests::daylight_floor_overlay_is_noop_at_zero_strength ... ok
[INFO] [stdout] test tui::pixel_painter::background::time_of_day::tests::night_sky_brightness_varies_by_weather ... ok
[INFO] [stdout] test tui::pixel_painter::background::time_of_day::tests::atmo_storm_dimmer_than_overcast ... ok
[INFO] [stdout] test tui::pixel_painter::background::time_of_day::tests::smog_dims_diffusely ... ok
[INFO] [stdout] test tui::pixel_painter::background::time_of_day::tests::sun_on_wall_east_at_morning ... ok
[INFO] [stdout] test tui::pixel_painter::background::time_of_day::tests::sun_on_wall_none_at_midnight ... ok
[INFO] [stdout] test tui::pixel_painter::background::time_of_day::tests::sun_on_wall_overhead_at_noon ... ok
[INFO] [stdout] test tui::pixel_painter::background::time_of_day::tests::fog_is_a_luminous_whiteout_not_dark_mist ... ok
[INFO] [stdout] test tui::pixel_painter::background::time_of_day::tests::atmo_storm_brighter_than_rain_by_design ... ok
[INFO] [stdout] test tui::pixel_painter::background::time_of_day::tests::time_of_day_look_night_darkness_tracks_weather ... ok
[INFO] [stdout] test tui::pixel_painter::background::time_of_day::tests::sun_on_wall_west_at_evening ... ok
[INFO] [stdout] test tui::pixel_painter::background::time_of_day::tests::weather_name_round_trips_for_every_variant ... ok
[INFO] [stdout] test tui::pixel_painter::background::time_of_day::tests::weather_override_forces_a_fixed_variant_then_restores ... ok
[INFO] [stdout] test tui::pixel_painter::background::time_of_day::tests::weather_state_emits_every_variant_within_a_week ... ok
[INFO] [stdout] test tui::pixel_painter::background::tests::lightning_envelope_is_a_two_pulse_then_dark ... ok
[INFO] [stdout] test tui::pixel_painter::debug_overlay::tests::paint_routes_draws_frozen_paths_and_skips_the_rest ... ok
[INFO] [stdout] test tui::pixel_painter::ambient::tests::sun_spot_zero_intensity_at_hour_edge_leaves_buffer_untouched ... ok
[INFO] [stdout] test tui::pixel_painter::debug_overlay::tests::overlay_marks_seat_approach_sides_distinct_from_the_seat_cell ... ok
[INFO] [stdout] test tui::pixel_painter::ambient::tests::sun_spot_zero_wall_band_returns_early ... ok
[INFO] [stdout] test tui::pixel_painter::debug_overlay::tests::overlay_marks_desk_approach_distinct_from_the_chair ... ok
[INFO] [stdout] test tui::pixel_painter::ambient::tests::sun_spot_scales_with_beam_strength ... ok
[INFO] [stdout] test tui::pixel_painter::drawable::tests::sample_polyline_midpoint_on_straight_segment ... ok
[INFO] [stdout] test tui::pixel_painter::drawable::tests::sample_polyline_octile_weights_diagonal ... ok
[INFO] [stdout] test tui::pixel_painter::drawable::tests::sample_polyline_empty_returns_fallback ... ok
[INFO] [stdout] test tui::pixel_painter::debug_overlay::tests::first_reachable_on_side_breaks_on_negative_coords ... ok
[INFO] [stdout] test tui::pixel_painter::drawable::tests::sample_polyline_arc_length_hits_corner_of_l ... ok
[INFO] [stdout] test tui::pixel_painter::drawable::tests::sample_polyline_t_at_or_past_one_returns_last ... ok
[INFO] [stdout] test tui::pixel_painter::drawable::tests::sample_polyline_single_point_returns_it ... ok
[INFO] [stdout] test tui::pixel_painter::drawable::tests::sample_polyline_t_zero_returns_first ... ok
[INFO] [stdout] test tui::pixel_painter::drawable::tests::sample_polyline_target_on_zero_length_segment_uses_local_t_zero ... ok
[INFO] [stdout] test tui::pixel_painter::drawable::tests::pet_drawable_sleep_anim_paints_sleep_z ... ok
[INFO] [stdout] test tui::pixel_painter::tests::agent_palette_overrides_only_bhs_keys ... ok
[INFO] [stdout] test tui::pixel_painter::drawable::tests::pet_drawable_missing_anim_is_a_noop ... ok
[INFO] [stdout] test tui::pixel_painter::drawable::tests::meeting_sofa_mirrored_flips_vertically ... ok
[INFO] [stdout] test tui::pixel_painter::drawable::tests::desk_cubicle_with_cabinet_blits_cabinet_and_trash_bin ... ok
[INFO] [stdout] test tui::pixel_painter::tests::agent_palette_glow_tint_shifts_skin_toward_given_color ... ok
[INFO] [stdout] test tui::pixel_painter::effects::tests::sleep_z_dims_as_it_rises_then_rests ... ok
[INFO] [stdout] test tui::pixel_painter::drawable::tests::sample_polyline_zero_length_leading_segment_no_div_by_zero ... ok
[INFO] [stdout] test tui::pixel_painter::tests::agent_palette_is_deterministic_per_id ... ok
[INFO] [stdout] test tui::pixel_painter::tests::back_view_seats_sort_over_their_sitter ... ok
[INFO] [stdout] test tui::pixel_painter::tests::back_view_meeting_sofa_sorts_over_its_sitter ... ok
[INFO] [stdout] test tui::pixel_painter::tests::center_pin_south_offset_lands_on_the_sprite_south_row ... ok
[INFO] [stdout] test tui::pixel_painter::tests::door_frame_exit_window_uses_4500ms_total ... ok
[INFO] [stdout] test tui::pixel_painter::drawable::tests::pet_rest_picks_sleep_anim_when_all_idle ... ok
[INFO] [stdout] test tui::pixel_painter::tests::door_frame_expired_entry_contributes_nothing ... ok
[INFO] [stdout] test tui::pixel_painter::tests::character_anchor_y_below_desk_when_seated_at_it ... ok
[INFO] [stdout] test tui::pixel_painter::tests::desk_occupant_always_sorts_behind_its_desk ... ok
[INFO] [stdout] test tui::pixel_painter::tests::desk_walk_anchor_settles_exactly_on_the_seat ... ok
[INFO] [stdout] test tui::pixel_painter::tests::desk_z_key_is_footprint_front_plus_overhang ... ok
[INFO] [stdout] test tui::pixel_painter::tests::door_frame_after_opening_ramp_is_fully_open ... ok
[INFO] [stdout] test tui::pixel_painter::tests::door_frame_closed_when_no_agents ... ok
[INFO] [stdout] test tui::pixel_painter::tests::door_frame_takes_max_across_agents ... ok
[INFO] [stdout] test tui::pixel_painter::tests::drawables_sort_ascending_by_anchor_y ... ok
[INFO] [stdout] test tui::pixel_painter::tests::drawables_sort_is_stable_on_ties ... ok
[INFO] [stdout] test tui::pixel_painter::tests::floor_lamp_south_offset_is_the_base_row ... ok
[INFO] [stdout] test tui::pixel_painter::tests::every_pod_occludes_via_overhang ... ok
[INFO] [stdout] test tui::pixel_painter::tests::character_anchor_y_exceeds_desk_when_south_of_it ... ok
[INFO] [stdout] test tui::pixel_painter::tests::door_frame_just_spawned_is_half_open ... ok
[INFO] [stdout] test tui::pixel_painter::tests::desk_settle_z_key_matches_the_seated_arm ... ok
[INFO] [stdout] test tui::pixel_painter::tests::door_frame_closing_then_closed_at_end_of_entry ... ok
[INFO] [stdout] test tui::pixel_painter::tests::door_frame_uses_physics_window_when_nonzero ... ok
[INFO] [stdout] test tui::pixel_painter::tests::furniture_corner_clip_does_not_panic ... ok
[INFO] [stdout] test tui::pixel_painter::tests::glass_wall_h_back_cap_composites_over_a_character_behind_it ... ok
[INFO] [stdout] test tui::pixel_painter::tests::glass_wall_h_clamps_below_buffer_bottom ... ok
[INFO] [stdout] test tui::pixel_painter::tests::furniture_room_decor_large_bounds_paint ... ok
[INFO] [stdout] test tui::pixel_painter::tests::pet_hearts_skip_dead_and_faded_hearts ... ok
[INFO] [stdout] test tui::pixel_painter::tests::glass_wall_v_clamps_past_right_edge ... ok
[INFO] [stdout] test tui::pixel_painter::tests::furniture_room_decor_too_small_bounds_are_noops ... ok
[INFO] [stdout] test tui::pixel_painter::tests::recolor_frame_handles_palette_with_no_overrides ... ok
[INFO] [stdout] test tui::pixel_painter::tests::recolor_frame_substitutes_bhs_pixels ... ok
[INFO] [stdout] test tui::pixel_painter::tests::seat_sprite_maps_facing_to_sprite_and_flip ... ok
[INFO] [stdout] test tui::pixel_painter::tests::seated_foot_cell_settles_exactly_on_the_render_anchor ... ok
[INFO] [stdout] test tui::pixel_painter::tests::seat_view_of_obstacle_kinds_is_upright_unflipped ... ok
[INFO] [stdout] test tui::pixel_painter::tests::stitch_vertical_wall_connects_each_joint ... ok
[INFO] [stdout] test tui::pixel_painter::tests::paint_character_at_missing_anim_is_a_noop ... ok
[INFO] [stdout] test tui::pixel_painter::tests::tool_glow_tint_maps_known_tools ... ok
[INFO] [stdout] test tui::pixel_painter::tests::sunset_strength_varies_across_day ... ok
[INFO] [stdout] test tui::pixel_painter::tests::sit_arc_z_key_is_stable_and_on_the_right_side_of_its_furniture ... ok
[INFO] [stdout] test tui::pixel_painter::tests::tool_glow_tint_maps_delegation_search_and_unknown_tokens ... ok
[INFO] [stdout] test tui::pixel_painter::tests::waypoint_depth_baseline_is_center_pinned_sprite_south ... ok
[INFO] [stdout] test tui::pixel_painter::tests::vertical_wall_top_raise_agrees_between_renderer_and_mask ... ok
[INFO] [stdout] test tui::pixel_painter::tests::waypoint_rank_offset_x_decollision_table ... ok
[INFO] [stdout] test tui::pixel_painter::tests::settle_seat_view_recognizes_the_home_desk ... ok
[INFO] [stdout] test tui::pixel_painter::tests::weather_gallery_manifest_matches_the_weather_enum ... ok
[INFO] [stdout] test tui::pixel_painter::tests::weather_state_changes_across_cycles ... ok
[INFO] [stdout] test tui::pixel_painter::tests::weather_state_covers_all_variants ... ok
[INFO] [stdout] test tui::pixel_painter::tests::settle_view_matches_the_seated_view_for_every_seat ... ok
[INFO] [stdout] test tui::pixel_painter::tests::weather_state_deterministic ... ok
[INFO] [stdout] test tui::pose::tests::at_waypoint_pose_records_position_to_history ... ok
[INFO] [stdout] test tui::pixel_painter::tests::pet_z_anchor_tracks_the_selected_anim_sprite_height ... ok
[INFO] [stdout] test tui::pose::tests::delegates_to_derive_for_oob_desk ... ok
[INFO] [stdout] test tui::pose::tests::exit_from_desk_rises_off_the_chair_via_the_approach_cell ... ok
[INFO] [stdout] test tui::pose::tests::exit_profile_snapshotted_once_not_on_subsequent_calls ... ok
[INFO] [stdout] test tui::pose::tests::desk_approach_cell_is_never_inside_the_blocked_desk ... ok
[INFO] [stdout] test tui::pose::tests::entry_duration_scales_with_path_longer_desk_takes_longer ... ok
[INFO] [stdout] test tui::pose::tests::desk_entry_routes_around_the_desk_then_settles_onto_the_chair ... ok
[INFO] [stdout] test tui::pose::tests::five_same_created_at_agents_have_distinct_entry_durations ... ok
[INFO] [stdout] test tui::pose::tests::exit_with_no_door_does_not_vanish ... ok
[INFO] [stdout] test tui::pose::tests::exit_far_completes_before_grace_window_no_vanish ... ok
[INFO] [stdout] test tui::pose::tests::pose_history_recent_expires ... ok
[INFO] [stdout] test tui::pose::tests::pose_history_record_and_recent ... ok
[INFO] [stdout] test tui::pose::tests::no_door_exiting_walking_pose_routes_via_settle_none ... ok
[INFO] [stdout] test tui::pose::tests::exit_uses_commute_speed_faster_than_wander ... ok
[INFO] [stdout] test tui::pose::tests::entry_walk_coordinates_are_continuous ... ok
[INFO] [stdout] test tui::pose::tests::route_walking_pose_coincident_path_returns_input_pose ... ok
[INFO] [stdout] test tui::pose::tests::route_walking_pose_records_at_waypoint_and_aimless_history ... ok
[INFO] [stdout] test tui::pose::tests::route_walking_pose_straight_leg_records_lerp_and_clears_walk_path ... ok
[INFO] [stdout] test tui::pose::tests::snap_back_cornered_leg_freezes_path_no_reroute ... ok
[INFO] [stdout] test tui::pose::tests::snap_back_origin_is_frozen_across_frames ... ok
[INFO] [stdout] test tui::pose::tests::snap_back_long_distance_renders_past_window_by_physics ... ok
[INFO] [stdout] test tui::pose::tests::snap_back_profile_length_measures_the_routed_polyline ... ok
[INFO] [stdout] test tui::pose::tests::nearer_desk_arrives_before_farther_desk ... ok
[INFO] [stdout] test tui::pose::tests::floor_offscreen_then_resume_does_not_replay ... ok
[INFO] [stdout] test tui::pose::tests::multi_segment_path_maps_t_to_segment_via_octile_distance ... ok
[INFO] [stdout] test tui::pose::tests::snap_back_profile_stored_in_motion_state ... ok
[INFO] [stdout] test tui::pose::tests::snap_back_progress_is_physics_eased_not_linear ... ok
[INFO] [stdout] test tui::pose::tests::snap_back_derive_is_idempotent_within_a_frame ... ok
[INFO] [stdout] test tui::pose::tests::exit_walk_coordinates_are_continuous ... ok
[INFO] [stdout] test tui::pose::tests::snap_back_rearms_on_new_state_transition ... ok
[INFO] [stdout] test tui::pixel_painter::drawable::tests::pet_no_route_falls_back_to_straight_lerp ... ok
[INFO] [stdout] test tui::pose::tests::frozen_leg_anchor_continuous_across_router_shape_change ... ok
[INFO] [stdout] test tui::pose::tests::snap_back_skipped_when_prev_within_min_distance ... ok
[INFO] [stdout] test tui::pose::tests::snap_back_routes_via_the_approach_cell_then_settles_onto_the_chair ... ok
[INFO] [stdout] test tui::pose::tests::snap_back_skipped_without_recent_history ... ok
[INFO] [stdout] test tui::pose::tests::snap_back_skipped_after_900ms_window ... ok
[INFO] [stdout] test tui::pose::tests::exit_while_wandering_does_not_teleport_to_desk ... ok
[INFO] [stdout] test tui::renderer::tests::clip_widget_rect_fully_inside ... ok
[INFO] [stdout] test tui::renderer::tests::clip_widget_rect_partially_overflows_right ... ok
[INFO] [stdout] test tui::pose::tests::snap_back_walks_from_history_when_state_just_flipped ... ok
[INFO] [stdout] test tui::renderer::tests::clip_widget_rect_zero_size_returns_none ... ok
[INFO] [stdout] test tui::renderer::tests::clip_widget_rect_fully_outside_right ... ok
[INFO] [stdout] test tui::theme::tests::all_themes_resolve_by_name ... ok
[INFO] [stdout] test tui::theme::tests::appliance_palette_is_legible_for_every_theme ... ok
[INFO] [stdout] test tui::theme::tests::dark_themes_marked_dark ... ok
[INFO] [stdout] test tui::theme::tests::source_badges_legible_for_every_theme ... ok
[INFO] [stdout] test tui::theme::tests::theme_gallery_manifest_matches_all_themes ... ok
[INFO] [stdout] test tui::theme::tests::unknown_theme_returns_none ... ok
[INFO] [stdout] test tui::theme::tests::light_themes_marked_light ... ok
[INFO] [stdout] test tui::pose::tests::wander_interrupted_by_active_does_not_teleport ... ok
[INFO] [stdout] test tui::pose::tests::wander_derive_is_idempotent_within_a_frame ... ok
[INFO] [stdout] test tui::pose::tests::wander_coffee_run_coordinates_continuous_under_churn ... ok
[INFO] [stdout] test tui::pose::tests::walk_leg_freezes_path_against_midleg_reroute ... ok
[INFO] [stdout] test tui::pose::tests::multiple_agents_share_overlay_without_teleport ... ok
[INFO] [stdout] test tui::pose::tests::wander_legs_approach_the_desk_via_an_allowed_side_not_through_the_front ... ok
[INFO] [stdout] test tui::tui_renderer::harness::dashboard_badge_text_present_for_cc_and_cx ... ok
[INFO] [stdout] test tui::tui_renderer::harness::coffee_machine_tooltip_on_hover ... ok
[INFO] [stdout] test tui::pose::tests::wander_continuous_across_layouts_and_agents ... ok
[INFO] [stdout] test tui::tui_renderer::harness::already_expired_active_pet_clears_on_render ... ok
[INFO] [stdout] test tui::tui_renderer::harness::dashboard_closed_paints_no_popup ... ok
[INFO] [stdout] test tui::tui_renderer::harness::dashboard_collapsed_big_tree_shows_badge_and_hides_children ... ok
[INFO] [stdout] test tui::tui_renderer::harness::colliding_labels_with_multibyte_session_ids_do_not_panic ... ok
[INFO] [stdout] test tui::tui_renderer::harness::agent_label_painted_above_character ... ok
[INFO] [stdout] test tui::tui_renderer::harness::dashboard_overflow_no_blank_line_when_selection_is_last_row ... ok
[INFO] [stdout] test tui::tui_renderer::harness::coffee_state_evicted_when_agent_leaves_scene ... ok
[INFO] [stdout] test tui::tui_renderer::harness::dashboard_overflow_cue_appears_below_when_more_than_viewport ... ok
[INFO] [stdout] test tui::tui_renderer::harness::dashboard_renders_waiting_reason_and_active_without_detail ... ok
[INFO] [stdout] test tui::tui_renderer::harness::dashboard_popup_renders_labels_states_and_live_tool ... ok
[INFO] [stdout] test tui::tui_renderer::harness::coffee_machine_hit_test_resolves_on_pantry ... ok
[INFO] [stdout] test tui::tui_renderer::harness::dashboard_overflow_cue_absent_when_all_visible ... ok
[INFO] [stdout] test tui::tui_renderer::harness::dashboard_overflow_cue_keeps_a_bottom_navigated_selection_visible ... ok
[INFO] [stdout] test tui::tui_renderer::harness::dashboard_empty_scene_shows_placeholder ... ok
[INFO] [stdout] test tui::tui_renderer::harness::floor_buffers_grow_on_overflow ... ok
[INFO] [stdout] test tui::tui_renderer::harness::agent_tooltip_flips_up_near_bottom_edge ... ok
[INFO] [stdout] test tui::tui_renderer::harness::dashboard_scrolls_to_keep_a_deep_selection_visible ... ok
[INFO] [stdout] test tui::tui_renderer::harness::exiting_agent_label_uses_exiting_color ... ok
[INFO] [stdout] test tui::tui_renderer::harness::debug_walkable_getter_reflects_setter ... ok
[INFO] [stdout] test tui::tui_renderer::harness::footer_shows_agent_count ... ok
[INFO] [stdout] test tui::tui_renderer::harness::footer_shows_source_death_warning ... ok
[INFO] [stdout] test tui::tui_renderer::harness::floor_transition_completes_and_lands ... ok
[INFO] [stdout] test tui::tui_renderer::harness::furniture_tooltip_on_hover_over_empty_desk ... ok
[INFO] [stdout] test tui::tui_renderer::harness::furniture_hit_test_covers_every_kind_on_real_layouts ... ok
[INFO] [stdout] test tui::tui_renderer::harness::footer_shows_floor_indicator_on_multi_floor ... ok
[INFO] [stdout] test tui::tui_renderer::harness::furniture_hit_test_resolves_against_rendered_layout ... ok
[INFO] [stdout] test tui::tui_renderer::harness::help_overlay_renders_shortcuts ... ok
[INFO] [stdout] test tui::tui_renderer::harness::injected_coffee_changes_desk_render ... ok
[INFO] [stdout] test tui::tui_renderer::harness::help_overlay_renders_during_floor_transition ... ok
[INFO] [stdout] test tui::tui_renderer::harness::layout_compute_none_bails_to_footer_only ... ok
[INFO] [stdout] test tui::tui_renderer::harness::navigation_blocked_during_active_transition ... ok
[INFO] [stdout] test tui::tui_renderer::harness::navigate_floor_clears_pinned_agent ... ok
[INFO] [stdout] test tui::tui_renderer::harness::no_pet_when_pets_disabled ... ok
[INFO] [stdout] test tui::tui_renderer::harness::furniture_tooltip_flips_below_near_top_edge ... ok
[INFO] [stdout] test tui::tui_renderer::harness::no_layout_frame_zeroes_the_popup_hit_box ... ok
[INFO] [stdout] test tui::tui_renderer::harness::meeting_glass_partition_connects_at_window_and_corner ... ok
[INFO] [stdout] test tui::tui_renderer::harness::pet_hit_test_resolves_at_pet_position ... ok
[INFO] [stdout] test tui::tui_renderer::harness::floor_transition_clears_stale_pet_position ... ok
[INFO] [stdout] test tui::tui_renderer::harness::pet_position_varies_over_its_cycle ... ok
[INFO] [stdout] test tui::tui_renderer::harness::hovering_an_agent_marks_its_label ... ok
[INFO] [stdout] test tui::tui_renderer::harness::pet_present_when_enabled ... ok
[INFO] [stdout] test tui::tui_renderer::harness::pet_leg_boundary_no_pop ... ok
[INFO] [stdout] test tui::tui_renderer::harness::pet_tooltip_on_hover ... ok
[INFO] [stdout] test tui::tui_renderer::harness::pet_tooltip_shows_custom_name ... ok
[INFO] [stdout] test tui::tui_renderer::harness::pet_tooltip_shows_cooldown_reaction_for_cat_and_dog ... ok
[INFO] [stdout] test tui::tui_renderer::harness::evict_missing_drops_history_and_motion_on_every_floor ... ok
[INFO] [stdout] test tui::tui_renderer::harness::pet_tooltip_falls_back_to_default_name_when_not_configured ... ok
[INFO] [stdout] test tui::tui_renderer::harness::petting_freezes_pet_position ... ok
[INFO] [stdout] test tui::tui_renderer::harness::pinned_active_agent_tooltip_shows_state_and_detail ... ok
[INFO] [stdout] test tui::tui_renderer::harness::pet_walk_is_frame_stable ... ok
[INFO] [stdout] test tui::tui_renderer::harness::pinned_agent_renders_stats_tooltip ... ok
[INFO] [stdout] test tui::tui_renderer::harness::pinned_waiting_agent_tooltip_shows_reason ... ok
[INFO] [stdout] test tui::tui_renderer::harness::pinned_then_removed_agent_is_a_safe_noop ... ok
[INFO] [stdout] test tui::tui_renderer::harness::current_floor_clamps_when_floor_count_drops ... ok
[INFO] [stdout] test tui::tui_renderer::harness::theme_picker_renders_during_floor_transition ... ok
[INFO] [stdout] test tui::tui_renderer::harness::theme_picker_renders_theme_names ... ok
[INFO] [stdout] test tui::tui_renderer::harness::source_death_warning_survives_floor_transition ... ok
[INFO] [stdout] test tui::tui_renderer::harness::too_small_terminal_returns_no_layout_no_panic ... ok
[INFO] [stdout] test tui::tui_renderer::harness::transition_cancelled_when_target_floor_disappears ... ok
[INFO] [stdout] test tui::tui_renderer::harness::theme_switch_recolors_floor ... ok
[INFO] [stdout] test tui::tui_renderer::harness::transition_on_too_small_terminal_clears_interaction_state ... ok
[INFO] [stdout] test tui::tui_renderer::harness::version_popup_dismissal_reaches_zero ... ok
[INFO] [stdout] test tui::tui_renderer::harness::version_popup_entrance_reaches_full_scale ... ok
[INFO] [stdout] test tui::tui_renderer::harness::version_popup_active_during_floor_transition ... ok
[INFO] [stdout] test tui::tui_renderer::harness::version_popup_interrupt_continues_from_edge ... ok
[INFO] [stdout] test tui::tui_renderer::harness::per_floor_layout_seeds_differ ... ok
[INFO] [stdout] test tui::tui_renderer::harness::version_popup_paints_when_open ... ok
[INFO] [stdout] test tui::widgets::dashboard::tests::dashboard_line_badge_uses_source_color_and_is_never_reversed ... ok
[INFO] [stdout] test tui::widgets::dashboard::tests::dashboard_line_name_tinted_by_state ... ok
[INFO] [stdout] test tui::tui_renderer::harness::walkable_debug_toggle_tints_blocked_pixels_and_is_reversible ... ok
[INFO] [stdout] test tui::widgets::dashboard::tests::dashboard_line_selected_reverses_name_and_state_not_badge ... ok
[INFO] [stdout] test tui::widgets::dashboard::tests::dashboard_line_unknown_source_falls_back_without_panic ... ok
[INFO] [stdout] test tui::widgets::dashboard::tests::every_registry_source_has_a_non_fallback_badge_color ... ok
[INFO] [stdout] test tui::tui_renderer::harness::pet_tooltip_shows_sleeping_when_all_idle ... ok
[INFO] [stdout] test tui::widgets::hud::hud_tests::pulse_border_color_breathes_within_bounds ... ok
[INFO] [stdout] test tui::widgets::hud::hud_tests::status_segments_pads_to_full_column_width_with_multibyte_glyphs ... ok
[INFO] [stdout] test tui::widgets::hud::hud_tests::status_segments_skips_empty_leading_token ... ok
[INFO] [stdout] test tui::widgets::hud::hud_tests::theme_picker_narrow_terminal_does_not_panic ... ok
[INFO] [stdout] test tui::widgets::help::tests::help_overlay_renders_without_panic_across_sizes ... ok
[INFO] [stdout] test tui::widgets::hud::hud_tests::theme_swatch_distinguishes_themes ... ok
[INFO] [stdout] test tui::widgets::hud::hud_tests::url_rect_does_not_extend_past_clipped_popup_right_edge ... ok
[INFO] [stdout] test tui::widgets::hud::hud_tests::url_rect_centering_matches_painter_at_partial_scale ... ok
[INFO] [stdout] test tui::widgets::hud::hud_tests::url_rect_none_below_seventy_percent_scale ... ok
[INFO] [stdout] test tui::widgets::hud::hud_tests::url_rect_none_when_envelope_too_small ... ok
[INFO] [stdout] test tui::widgets::hud::hud_tests::url_rect_fits_inside_normal_popup ... ok
[INFO] [stdout] test tui::widgets::hud::hud_tests::url_rect_returns_none_when_url_row_falls_outside_clipped_popup ... ok
[INFO] [stdout] test tui::widgets::hud::hud_tests::version_popup_skips_render_when_fully_dismissed ... ok
[INFO] [stdout] test tui::widgets::tests::count_str_empty_floor_still_shows_total ... ok
[INFO] [stdout] test tui::widgets::tests::count_str_multi_floor_shows_slash_even_when_total_equals_n ... ok
[INFO] [stdout] test tui::widgets::tests::count_str_narrow_tier_uses_bare_n ... ok
[INFO] [stdout] test tui::widgets::tests::count_str_single_floor_shows_bare_n ... ok
[INFO] [stdout] test tui::widgets::hud::hud_tests::elevator_indicator_centers_by_display_columns_not_bytes ... ok
[INFO] [stdout] test tui::widgets::tests::count_str_multi_floor_shows_n_slash_total ... ok
[INFO] [stdout] test tui::tui_renderer::harness::tool_glow_tint_differs_by_tool ... ok
[INFO] [stdout] test tui::widgets::tests::footer_caps_tools_at_four ... ok
[INFO] [stdout] test tui::widgets::tests::footer_medium_width_compact ... ok
[INFO] [stdout] test tui::widgets::tests::footer_minimal_width ... ok
[INFO] [stdout] test tui::widgets::tests::footer_full_width_mixed_states ... ok
[INFO] [stdout] test tui::widgets::tests::footer_single_idle_agent ... ok
[INFO] [stdout] test tui::widgets::tests::footer_quit_only_below_threshold ... ok
[INFO] [stdout] test tui::widgets::tests::footer_source_warning_replaces_stats_and_keeps_quit ... ok
[INFO] [stdout] test tui::tui_renderer::harness::departed_agent_motion_is_evicted_on_a_non_current_floor ... ok
[INFO] [stdout] test tui::widgets::tests::footer_with_floor_info ... ok
[INFO] [stdout] test tui::widgets::tests::status_spans_text_matches_summary_across_tiers ... ok
[INFO] [stdout] test tui::widgets::tests::status_spans_color_code_state_segments ... ok
[INFO] [stdout] test tui::widgets::tests::ticker_includes_waiting_reason ... ok
[INFO] [stdout] test tui::widgets::tests::ticker_trims_buffer_past_max ... ok
[INFO] [stdout] test tui::widgets::tests::truncate_label_falls_back_to_plain_truncate_when_no_separator ... ok
[INFO] [stdout] test tui::widgets::tests::footer_zero_agents ... ok
[INFO] [stdout] test tui::widgets::tests::source_warning_message_formats_by_death_count ... ok
[INFO] [stdout] test tui::widgets::tests::ticker_default_is_empty ... ok
[INFO] [stdout] test tui::widgets::tests::truncate_label_passes_short_labels_through ... ok
[INFO] [stdout] test tui::widgets::tests::truncate_label_preserves_disambig_suffix ... ok
[INFO] [stdout] test tui::widgets::tooltip::tests::rx_cwd_ids_with_colliding_basenames_get_distinct_suffixes ... ok
[INFO] [stdout] test tui::widgets::tooltip::tests::multibyte_ids_are_safe_and_deterministic ... ok
[INFO] [stdout] test tui::widgets::tooltip::tests::uuid_ids_get_distinct_suffixes ... ok
[INFO] [stdout] test version::tests::boot_decision_downgrade_no_action ... ok
[INFO] [stdout] test version::tests::bad_input_safe ... ok
[INFO] [stdout] test tui::widgets::tests::truncate_label_plain_take_when_suffix_exceeds_budget ... ok
[INFO] [stdout] test tui::widgets::tooltip::tests::ag_full_path_ids_get_distinct_suffixes ... ok
[INFO] [stdout] test version::tests::boot_decision_overwrites_corrupted_last_seen ... ok
[INFO] [stdout] test version::tests::boot_decision_first_run_persists_silently ... ok
[INFO] [stdout] test version::tests::current_version_has_release_notes ... ok
[INFO] [stdout] test version::tests::is_valid_version_rejects_corrupted ... ok
[INFO] [stdout] test version::tests::major_bump_detected ... ok
[INFO] [stdout] test version::tests::minor_bump_detected ... ok
[INFO] [stdout] test version::tests::boot_decision_same_version_no_action ... ok
[INFO] [stdout] test version::tests::boot_decision_upgrade_shows_popup_and_persists ... ok
[INFO] [stdout] test version::tests::is_valid_version_accepts_well_formed ... ok
[INFO] [stdout] test version::tests::newer_version_detected ... ok
[INFO] [stdout] test version::tests::older_not_newer ... ok
[INFO] [stdout] test version::tests::prerelease_newer_than_older_release ... ok
[INFO] [stdout] test version::tests::patch_bump_detected ... ok
[INFO] [stdout] test version::tests::path_dep_version_tracks_crate_version ... ok
[INFO] [stdout] test version::tests::release_notes_unknown_version ... ok
[INFO] [stdout] test version::tests::release_notes_known_version ... ok
[INFO] [stdout] test version::tests::release_newer_than_prerelease_of_same_version ... ok
[INFO] [stdout] test version::tests::same_version_not_newer ... ok
[INFO] [stdout] test tui::widgets::tests::footer_source_warning_survives_every_width ... ok
[INFO] [stdout] test tui::pathfind::tests::every_wander_waypoint_is_routable_on_the_coarse_grid ... ok
[INFO] [stdout] test tui::tui_renderer::harness::pet_rest_pos_is_walkable ... ok
[INFO] [stdout] test tui::pathfind::tests::reachset_never_claims_an_unroutable_cell ... ok
[INFO] [stdout] test tui::pathfind::tests::path_cache_is_bounded_and_still_routes_after_the_clear ... ok
[INFO] [stdout] test tui::tui_renderer::harness::weather_variants_render_without_panic_and_vary ... ok
[INFO] [stdout] test tui::tui_renderer::harness::coffee_persists_through_floor_transition ... ok
[INFO] [stdout] test tui::pathfind::tests::every_approach_point_is_routable_from_its_home_desk ... ok
[INFO] [stdout] test tui::tui_renderer::harness::pet_walk_never_clips_through_furniture ... ok
[INFO] [stdout] test tui::tui_renderer::harness::offscreen_floor_freezes_and_resyncs_on_return ... ok
[INFO] [stdout] test tui::tui_renderer::harness::occupied_floor_stays_lit ... ok
[INFO] [stdout] test tui::tui_renderer::harness::meeting_room_fills_and_hosts_group_chitchat ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 694 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 17.09s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/pixtuoid-97c3205c9a7c36d9)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test tests::build_issue_url_starts_with_github ... ok
[INFO] [stdout] test tests::build_issue_url_truncates_long_backtrace ... ok
[INFO] [stdout] test tests::percent_encode_ascii ... ok
[INFO] [stdout] test tests::percent_encode_special_chars ... ok
[INFO] [stdout] test tests::nonempty_treats_empty_and_whitespace_as_unset ... ok
[INFO] [stdout] test tests::empty_rust_log_falls_back_to_requested_level ... ok
[INFO] [stdout] test tests::truncate_ascii ... ok
[INFO] [stdout] test tests::truncate_beyond_length ... ok
[INFO] [stdout] test tests::truncate_multibyte_boundary ... ok
[INFO] [stdout] test tests::rotate_if_large_rotates_once_past_the_cap ... ok
[INFO] [stdout] test tests::rotate_if_large_appends_old_to_dotted_custom_paths ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/frame_cache.rs (/opt/rustwide/target/debug/deps/frame_cache-095dfde0f8dd2131)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test evict_missing_drops_entries_for_absent_agents ... ok
[INFO] [stdout] test get_or_make_caches_by_full_key ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/golden_image.rs (/opt/rustwide/target/debug/deps/golden_image-65e59e9903a7375c)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test golden_populated_vs_empty_differ ... ok
[INFO] [stdout] test golden_empty_office_is_deterministic ... ok
[INFO] [stdout] test golden_cyberpunk_vs_normal_differ ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test install_unknown_target_errors ... ok
[INFO] [stdout] warning: --hook-path /fake/path does not exist yet; the hook will fail until it does
[INFO] [stderr]      Running tests/install.rs (/opt/rustwide/target/debug/deps/install-f74c0b40a02a3502)
[INFO] [stderr] error: invalid value 'bogus' for '--target <TARGET>'
[INFO] [stderr]   [possible values: claude, codex, reasonix, all]
[INFO] [stderr] 
[INFO] [stderr] For more information, try '--help'.
[INFO] [stdout] ok: installed pixtuoid hooks into /tmp/.tmpUcaBm8/settings.json (Claude Code)
[INFO] [stdout] → start a new Claude Code session for this to take effect.
[INFO] [stdout] [claude] no pixtuoid hooks found in /tmp/.tmp9xQk75/settings.json — nothing to remove
[INFO] [stdout] warning: --hook-path /fake/path does not exist yet; the hook will fail until it does
[INFO] [stdout] test uninstall_missing_file_creates_nothing ... ok
[INFO] [stdout] [codex] no pixtuoid hooks found in /tmp/.tmp2w9pUO/config.toml — nothing to remove
[INFO] [stdout] warning: --hook-path /fake/pixtuoid-hook does not exist yet; the hook will fail until it does
[INFO] [stdout] ok: removed pixtuoid hooks from /tmp/.tmpUcaBm8/settings.json (Claude Code)
[INFO] [stdout] → start a new Claude Code session for this to take effect.
[INFO] [stdout] test install_then_uninstall_round_trip ... ok
[INFO] [stdout] test uninstall_noop_preserves_file_and_backup ... ok
[INFO] [stdout] warning: --hook-path /fake/pixtuoid-hook does not exist yet; the hook will fail until it does
[INFO] [stdout] ok: installed pixtuoid hooks into /tmp/.tmp2Hx7ZD/settings.json (Claude Code)
[INFO] [stdout] → start a new Claude Code session for this to take effect.
[INFO] [stdout] ok: installed pixtuoid hooks into /tmp/.tmpDJjB3I/config.toml (Codex)
[INFO] [stdout] backup: /tmp/.tmpDJjB3I/config.toml.pixtuoid.bak (removed automatically on uninstall-hooks)
[INFO] [stdout] test install_with_config_and_target_flags ... ok
[INFO] [stdout] note: comments and formatting in config.toml are not preserved (restore from the backup if needed).
[INFO] [stdout] → start a new Codex session for this to take effect.
[INFO] [stdout] ok: installed pixtuoid hooks into /tmp/.tmp2MeZsB/settings.json (Reasonix)
[INFO] [stdout] backup: /tmp/.tmp2MeZsB/settings.json.pixtuoid.bak (removed automatically on uninstall-hooks)
[INFO] [stdout] → start a new Reasonix session for this to take effect.
[INFO] [stdout] ok: removed pixtuoid hooks from /tmp/.tmpDJjB3I/config.toml (Codex)
[INFO] [stdout] removed backup: /tmp/.tmpDJjB3I/config.toml.pixtuoid.bak
[INFO] [stdout] → start a new Codex session for this to take effect.
[INFO] [stdout] test install_codex_writes_toml_with_sentinel_and_backup ... ok
[INFO] [stdout] ok: removed pixtuoid hooks from /tmp/.tmp2MeZsB/settings.json (Reasonix)
[INFO] [stdout] removed backup: /tmp/.tmp2MeZsB/settings.json.pixtuoid.bak
[INFO] [stdout] → start a new Reasonix session for this to take effect.
[INFO] [stdout] test install_reasonix_writes_flat_json_with_sentinel_and_backup ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/layout_golden.rs (/opt/rustwide/target/debug/deps/layout_golden-9830ac829f4bfb94)
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test floor_variant_hash_gives_unique_layouts_per_floor ... ok
[INFO] [stdout] test layout_dense_seed6_desks ... ok
[INFO] [stdout] test layout_standard_192x160_meeting ... ok
[INFO] [stdout] test layout_standard_96x72_desks ... ok
[INFO] [stdout] test layout_dense_seed6_room_walls ... ok
[INFO] [stdout] test layout_standard_96x72_room_walls ... ok
[INFO] [stdout] test layout_open_plan_seed2_desks ... ok
[INFO] [stdout] test layout_standard_96x72_meeting ... ok
[INFO] [stdout] test layout_dense_seed6_meeting ... ok
[INFO] [stdout] test layout_standard_192x160_room_walls ... ok
[INFO] [stdout] test layout_standard_192x160_desks ... ok
[INFO] [stdout] test layout_open_plan_seed2_room_walls ... ok
[INFO] [stdout] test layout_standard_192x160_waypoints ... ok
[INFO] [stdout] test layout_open_plan_seed2_waypoints ... ok
[INFO] [stdout] test layout_dense_seed6_waypoints ... ok
[INFO] [stdout] test layout_open_plan_seed2_meeting ... ok
[INFO] [stdout] test layout_standard_96x72_waypoints ... ok
[INFO] [stdout] test layout_standard_96x72_zones ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/pack_cli.rs (/opt/rustwide/target/debug/deps/pack_cli-0c35f4f87daf5e75)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test init_pack_into_populated_dir_without_force_errors ... ok
[INFO] [stdout] test init_pack_force_rewrites_populated_dir ... ok
[INFO] [stdout] test init_pack_writes_skeleton_into_fresh_dir ... ok
[INFO] [stdout] test init_pack_with_file_at_dest_errors_not_a_directory ... ok
[INFO] [stdout] test validate_pack_skeleton_is_ok_and_warns_on_optionals ... ok
[INFO] [stdout] test validate_pack_with_errors_bails ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/pixel_regression.rs (/opt/rustwide/target/debug/deps/pixel_regression-ca8743bf0617069e)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test floor_seed_affects_render ... ok
[INFO] [stdout] test theme_affects_render ... ok
[INFO] [stdout] test weather_cycle_affects_render ... ok
[INFO] [stdout] test all_themes_render_distinctly ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/snapshot_regression.rs (/opt/rustwide/target/debug/deps/snapshot_regression-aab0830adedd029c)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test render_changes_when_time_advances_by_hours ... ok
[INFO] [stdout] test render_changes_when_an_agent_state_changes ... ok
[INFO] [stdout] test render_produces_distinct_wall_band_and_floor_regions ... ok
[INFO] [stdout] test render_is_deterministic_for_same_now ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/tui_renderer.rs (/opt/rustwide/target/debug/deps/tui_renderer-ff0171fc40a07aec)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test help_open_toggles_via_setter ... ok
[INFO] [stdout] test dismiss_mid_entrance_does_not_snap_to_full ... ok
[INFO] [stdout] test set_version_popup_records_timestamp_on_edge ... ok
[INFO] [stdout] test version_popup_animation_starts_small_then_grows ... ok
[INFO] [stdout] test cancel_transition_lands_on_destination_floor ... ok
[INFO] [stdout] test tui_renderer_render_paints_a_full_frame ... ok
[INFO] [stdout] test tui_renderer_transition_paints_pets_and_coffee ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/walkable_golden.rs (/opt/rustwide/target/debug/deps/walkable_golden-246c9073637c0058)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test walkable_mask_open_plan_96x70 ... ok
[INFO] [stdout] test walkable_mask_standard_96x70 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/widget_cells.rs (/opt/rustwide/target/debug/deps/widget_cells-b8df74f80c6ab8c7)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test chitchat_bubble_text_appears_in_buffer ... ok
[INFO] [stdout] test footer_contains_quit_hint ... ok
[INFO] [stdout] test branding_visible_in_wall_display ... ok
[INFO] [stdout] test footer_shows_agent_count ... ok
[INFO] [stdout] test elevator_indicator_visible ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests examples/snapshot.rs (/opt/rustwide/target/debug/examples/snapshot-ba3d48716d2a4e1a)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test tests::centered_crop_clamps_at_origin_and_far_edge ... ok
[INFO] [stdout] test tests::due_navigations_late_schedule_still_fires_within_capture ... ok
[INFO] [stdout] test tests::parse_navigations_rejects_bad_input ... ok
[INFO] [stdout] test tests::due_navigations_fires_each_exactly_once_in_schedule_order ... ok
[INFO] [stdout] test tests::crop_flags_conflict_with_gif_and_anim ... ok
[INFO] [stdout] test tests::crop_rect_without_flags_is_none ... ok
[INFO] [stdout] test tests::centered_crop_shrinks_to_a_small_terminal ... ok
[INFO] [stdout] test tests::parse_navigations_happy_and_fractional ... ok
[INFO] [stdout] test tests::dashboard_flag_parses_and_conflicts_with_anim ... ok
[INFO] [stdout] test tests::crop_rect_fails_loudly_on_typos_and_unknown_agents ... ok
[INFO] [stdout] test tests::centered_crop_centers_in_the_open ... ok
[INFO] [stdout] test tests::crop_rect_centers_on_the_pantry_waypoint ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/pixtuoid_core-4e7768f902274dfe)
[INFO] [stdout] test tests::parse_navigations_truncates_fractional_ms ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 361 tests
[INFO] [stdout] test id::tests::from_parts_distinguishes_source_and_opaque ... ok
[INFO] [stdout] test id::tests::from_parts_has_domain_separator ... ok
[INFO] [stdout] test id::tests::agent_id_displays_as_hex ... ok
[INFO] [stdout] test id::tests::agent_id_is_deterministic_per_path ... ok
[INFO] [stdout] test id::tests::agent_id_differs_per_path ... ok
[INFO] [stdout] test id::tests::from_transcript_path_routes_through_from_parts ... ok
[INFO] [stdout] test layout::approach::tests::approachable_obstacle_resolves_half_extents ... ok
[INFO] [stdout] test layout::approach::tests::dwell_range_is_nonzero ... ok
[INFO] [stdout] test layout::approach::tests::occupies_pos_is_exactly_the_seat_kinds ... ok
[INFO] [stdout] test layout::approach::tests::pantry_stand_is_walkable_and_off_center ... ok
[INFO] [stdout] test layout::approach::tests::approach_point_seat_never_approaches_through_the_back ... ok
[INFO] [stdout] test layout::approach::tests::approach_point_seat_never_approaches_from_the_back_even_when_walled_in ... ok
[INFO] [stdout] test layout::approach::tests::pod_and_waypoint_twins_resolve_to_one_furniture_row ... ok
[INFO] [stdout] test layout::approach::tests::approach_point_for_obstacle_matches_stand_point_when_reachable ... ok
[INFO] [stdout] test layout::approach::tests::seat_kinds_pass_through_pos ... ok
[INFO] [stdout] test layout::approach::tests::stand_point_breaks_on_negative_coords_near_the_origin_corner ... ok
[INFO] [stdout] test layout::decor::tests::desk_excludes_its_south_front ... ok
[INFO] [stdout] test layout::decor::tests::all_allows_every_side_for_any_facing ... ok
[INFO] [stdout] test layout::approach::tests::waypoint_kind_all_is_unique_and_complete ... ok
[INFO] [stdout] test layout::decor::tests::furniture_def_invariants_hold_for_every_row ... ok
[INFO] [stdout] test layout::decor::tests::rotation_is_a_bijection_on_sides ... ok
[INFO] [stdout] test layout::mask::tests::flat_box_footprint_is_centered_not_south_anchored ... ok
[INFO] [stdout] test layout::decor::tests::desk_is_a_furniture_def_with_desk_geometry ... ok
[INFO] [stdout] test layout::placement::tests::center_matches_legacy_center_pin_offset ... ok
[INFO] [stdout] test layout::approach::tests::picks_only_open_side_when_walled ... ok
[INFO] [stdout] test layout::approach::tests::pantry_stand_follows_origin_side ... ok
[INFO] [stdout] test layout::approach::tests::real_pantry_stand_responds_to_desk_side ... ok
[INFO] [stdout] test layout::placement::tests::center_origin_is_pos_minus_half ... ok
[INFO] [stdout] test layout::decor::tests::role_enum_sprite_names_resolve_in_the_animation_registry ... ok
[INFO] [stdout] test layout::placement::tests::z_sort_row_is_the_sprite_south_row_for_every_anchor ... ok
[INFO] [stdout] test layout::reach::tests::reaches_is_false_out_of_bounds ... ok
[INFO] [stdout] test layout::reach::tests::blocked_seed_snaps_into_the_component ... ok
[INFO] [stdout] test layout::reach::tests::open_field_reaches_everywhere ... ok
[INFO] [stdout] test layout::reach::tests::corner_seed_ring_scan_handles_negative_coords ... ok
[INFO] [stdout] test layout::decor::tests::seat_facing_north_rotates_to_exclude_the_south_back ... ok
[INFO] [stdout] test layout::approach::tests::def_footprint_matches_obstacle_footprint ... ok
[INFO] [stdout] test layout::mask::tests::overhang_footprint_south_anchored_leaves_the_overhang_walkable ... ok
[INFO] [stdout] test layout::approach::tests::overhanging_obstacle_stand_clearance_uses_visual_not_footprint ... ok
[INFO] [stdout] test layout::reach::tests::sub_cell_mask_yields_empty_reachset ... ok
[INFO] [stdout] test layout::decor::tests::seat_facing_south_allows_front_and_sides_not_back ... ok
[INFO] [stdout] test layout::reach::tests::walled_pocket_is_unreachable_but_main_is_reachable ... ok
[INFO] [stdout] test layout::tests::compute_returns_none_when_buf_too_small ... ok
[INFO] [stdout] test layout::mask::tests::wall_decor_whiteboard_footprint_centers_under_the_wider_sprite ... ok
[INFO] [stdout] test layout::reach::tests::seed_in_fully_blocked_pocket_snaps_to_nothing ... ok
[INFO] [stdout] test layout::tests::compute_returns_none_at_exact_boundary ... ok
[INFO] [stdout] test layout::tests::every_role_enum_variant_maps_to_a_furniture_row ... ok
[INFO] [stdout] test layout::tests::compute_places_bookshelf_on_wall_and_whiteboard_in_walkway ... ok
[INFO] [stdout] test layout::tests::compute_zones_are_ordered_top_to_bottom_and_nonoverlapping ... ok
[INFO] [stdout] test layout::placement::tests::topleft_origin_is_pos ... ok
[INFO] [stdout] test layout::tests::compute_truncates_home_desks_when_more_agents_than_fit ... ok
[INFO] [stdout] test layout::tests::compute_places_one_home_desk_per_agent ... ok
[INFO] [stdout] test layout::tests::compute_places_all_waypoint_kinds ... ok
[INFO] [stdout] test layout::tests::home_desk_typed_accessor_matches_raw_vec ... ok
[INFO] [stdout] test layout::tests::compute_places_plants_in_lounge_and_walkway ... ok
[INFO] [stdout] test layout::tests::every_home_desk_has_a_reachable_north_approach ... ok
[INFO] [stdout] test layout::tests::narrow_width_desks_stay_inside_the_band_with_anchors_on_buffer ... ok
[INFO] [stdout] test layout::tests::sofas_seat_three_people ... ok
[INFO] [stdout] test layout::tests::whiteboard_blocks_only_its_wheel_base_not_the_elevated_panel ... ok
[INFO] [stdout] test physics::tests::arrived_false_before_duration ... ok
[INFO] [stdout] test physics::tests::arrived_false_during_pause ... ok
[INFO] [stdout] test physics::tests::arrived_true_after_pause ... ok
[INFO] [stdout] test physics::tests::commute_faster_than_wander ... ok
[INFO] [stdout] test physics::tests::commute_intents_faster_than_wander_intents ... ok
[INFO] [stdout] test physics::tests::cruise_plateau_has_constant_delta ... ok
[INFO] [stdout] test physics::tests::pause_ms_in_range ... ok
[INFO] [stdout] test physics::tests::pause_ms_independent_of_speed_mult ... ok
[INFO] [stdout] test physics::tests::progress_at_duration_is_1000 ... ok
[INFO] [stdout] test physics::tests::progress_at_half_duration_trapezoidal ... ok
[INFO] [stdout] test physics::tests::progress_at_half_duration_triangular_is_near_500 ... ok
[INFO] [stdout] test physics::tests::progress_at_zero_is_zero ... ok
[INFO] [stdout] test physics::tests::progress_holds_1000_during_pause_window ... ok
[INFO] [stdout] test physics::tests::progress_in_triangular_decel_arm ... ok
[INFO] [stdout] test physics::tests::exit_uses_commute_speed ... ok
[INFO] [stdout] test physics::tests::progress_is_monotone ... ok
[INFO] [stdout] test physics::tests::progress_saturates_at_1000 ... ok
[INFO] [stdout] test physics::tests::speed_mult_is_deterministic ... ok
[INFO] [stdout] test physics::tests::speed_mult_in_range ... ok
[INFO] [stdout] test physics::tests::trapezoidal_duration_formula ... ok
[INFO] [stdout] test physics::tests::triangular_duration_formula ... ok
[INFO] [stdout] test physics::tests::speed_mult_varies_across_agents ... ok
[INFO] [stdout] test physics::tests::zero_length_no_panic ... ok
[INFO] [stdout] test platform::tests::codex_home_falls_back_to_dot_codex_when_env_unset_empty_or_missing_dir ... ok
[INFO] [stdout] test platform::tests::codex_home_uses_env_when_it_points_at_an_existing_dir ... ok
[INFO] [stdout] test platform::tests::unix_home_stays_authoritative_and_empty_home_is_unset ... ok
[INFO] [stdout] test platform::tests::user_config_dir_linux_prefers_xdg_then_dot_config ... ok
[INFO] [stdout] test physics::tests::wander_out_and_back_use_same_speed ... ok
[INFO] [stdout] test platform::tests::user_config_dir_windows_prefers_appdata_then_roaming_fallback ... ok
[INFO] [stdout] test platform::tests::user_config_dir_macos_is_application_support ... ok
[INFO] [stdout] test platform::tests::user_home_opt_is_the_shared_precedence_without_a_host_fallback ... ok
[INFO] [stdout] test platform::tests::windows_falls_back_to_home_then_tempdir ... ok
[INFO] [stdout] test platform::tests::windows_prefers_userprofile_over_home ... ok
[INFO] [stdout] test pose::tests::active_state_is_seated_typing_with_cycling_frame ... ok
[INFO] [stdout] test pose::tests::aimless_fallback_on_a_fully_blocked_mask_returns_the_desk_anchor ... ok
[INFO] [stdout] test pose::tests::cycle_after_a_suppressed_release_walks_out_from_its_beginning ... ok
[INFO] [stdout] test pose::tests::cycle_ms_for_varies_across_agents ... ok
[INFO] [stdout] test pose::tests::derive_returns_none_when_desk_index_out_of_range ... ok
[INFO] [stdout] test pose::tests::aimless_fallback_scans_the_midline_for_a_walkable_cell ... ok
[INFO] [stdout] test layout::approach::tests::seat_approach_is_never_behind_the_backrest_on_real_layouts ... ok
[INFO] [stdout] test pose::tests::derive_state_only_skips_entry_override ... ok
[INFO] [stdout] test pose::tests::dwell_ms_is_within_per_kind_range ... ok
[INFO] [stdout] test pose::tests::dwell_ms_varies_across_agents_and_is_deterministic ... ok
[INFO] [stdout] test pose::tests::entry_walk_does_not_carry_coffee ... ok
[INFO] [stdout] test pose::tests::entry_animation_overrides_normal_pose_for_first_4s ... ok
[INFO] [stdout] test pose::tests::entry_window_fall_through_uses_state_driven_pose ... ok
[INFO] [stdout] test pose::tests::exit_override_walks_desk_to_door_within_window ... ok
[INFO] [stdout] test pose::tests::idle_cycle_loops_after_one_cycle ... ok
[INFO] [stdout] test pose::tests::freshly_spawned_idle_skips_thinking ... ok
[INFO] [stdout] test pose::tests::idle_past_thinking_window_returns_idle_pose ... ok
[INFO] [stdout] test pose::tests::exit_override_returns_none_past_window ... ok
[INFO] [stdout] test pose::tests::idle_phase_2_is_at_waypoint ... ok
[INFO] [stdout] test layout::tests::walkable_mask_connected_across_floor_seeds ... ok
[INFO] [stdout] test pose::tests::idle_phase_0_is_seated_idle ... ok
[INFO] [stdout] test pose::tests::idle_phase_1_is_walking_out ... ok
[INFO] [stdout] test pose::tests::idle_within_thinking_window_returns_seated_thinking ... ok
[INFO] [stdout] test pose::tests::idle_phase_3_is_walking_back ... ok
[INFO] [stdout] test pose::tests::idle_pose_holds_at_waypoint_for_the_whole_dwell_window ... ok
[INFO] [stdout] test pose::tests::personality_varies_across_agents ... ok
[INFO] [stdout] test pose::tests::seated_dwell_and_est_cycle_are_consistent ... ok
[INFO] [stdout] test pose::tests::takes_trip_fires_roughly_42_percent_of_cycles ... ok
[INFO] [stdout] test pose::tests::pantry_walk_destination_is_walkable ... ok
[INFO] [stdout] test pose::tests::waiting_state_is_standing_at_desk ... ok
[INFO] [stdout] test layout::tests::walkable_mask_is_fully_connected_across_buffer_sizes ... ok
[INFO] [stdout] test pose::tests::walk_back_from_non_pantry_no_coffee ... ok
[INFO] [stdout] test pose::tests::walk_out_intact_when_gate_releases_during_the_seated_phase ... ok
[INFO] [stdout] test pose::tests::waypoint_choice_changes_across_cycles_for_same_agent ... ok
[INFO] [stdout] test pose::tests::waypoint_index_is_zero_when_no_waypoints ... ok
[INFO] [stdout] test source::antigravity::tests::ag_session_ended_is_always_false ... ok
[INFO] [stdout] test source::antigravity::tests::label_is_ag_basename_or_bare_prefix ... ok
[INFO] [stdout] test source::antigravity::tests::negative_step_index_is_skipped_not_minted ... ok
[INFO] [stdout] test layout::approach::tests::real_layout_stand_points_are_walkable ... ok
[INFO] [stdout] test pose::tests::walk_back_from_pantry_carries_coffee ... ok
[INFO] [stdout] test source::antigravity::tests::brain_root_is_the_cli_brain_under_dot_gemini ... ok
[INFO] [stdout] test source::cc_probe::liveness_tests::duplicate_winner_rule_is_symmetric_and_total ... ok
[INFO] [stdout] test source::cc_probe::liveness_tests::empty_readable_dir_is_some_empty ... ok
[INFO] [stdout] test source::cc_probe::liveness_tests::entry_without_started_at_keeps_pid_alive_only_behavior ... ok
[INFO] [stdout] test source::cc_probe::liveness_tests::fifo_named_json_does_not_hang_the_probe ... ok
[INFO] [stdout] test source::cc_probe::liveness_tests::keeps_entry_whose_pid_is_alive_and_binds_its_pid ... ok
[INFO] [stdout] test pose::tests::thinking_gate_release_is_continuous_with_seated_thinking ... ok
[INFO] [stdout] test source::cc_probe::liveness_tests::missing_dir_is_probe_failure_none ... ok
[INFO] [stdout] test source::cc_probe::liveness_tests::non_json_and_corrupt_values_are_silent_skips_not_drift ... ok
[INFO] [stdout] test source::cc_probe::liveness_tests::parse_registry_entry_extracts_started_at_and_tolerates_absence ... ok
[INFO] [stdout] test source::cc_probe::liveness_tests::registry_shape_pin_parses_the_current_live_format ... ok
[INFO] [stdout] test source::cc_probe::liveness_tests::oversized_junk_json_entry_is_ignored ... ok
[INFO] [stdout] test source::cc_probe::liveness_tests::renamed_or_mistyped_required_key_is_shape_drift ... ok
[INFO] [stdout] test source::cc_probe::liveness_tests::sessions_dir_derives_only_from_the_standard_layout ... ok
[INFO] [stdout] test layout::tests::freestanding_decor_does_not_overlap_room_walls ... ok
[INFO] [stdout] test source::claude_code::cc_id_tests::cc_id_from_path_empty_for_no_stem ... ok
[INFO] [stdout] test source::claude_code::cc_id_tests::cc_id_from_path_is_stable_across_path_separators ... ok
[INFO] [stdout] test source::cc_probe::liveness_tests::malformed_and_incomplete_entries_are_ignored ... ok
[INFO] [stdout] test source::cc_probe::liveness_tests::drops_entry_whose_pid_is_dead ... ok
[INFO] [stdout] test source::cc_probe::liveness_tests::unreadable_dir_is_probe_failure_none ... ok
[INFO] [stdout] test source::claude_code::cc_id_tests::cc_id_from_path_root_is_filename_uuid ... ok
[INFO] [stdout] test source::claude_code::cc_id_tests::cc_id_from_path_subagent_is_agent_stem ... ok
[INFO] [stdout] test source::claude_code::tests::label_does_not_false_positive_on_subagents_in_project_name ... ok
[INFO] [stdout] test source::cc_probe::liveness_tests::shape_drifted_entry_yields_no_vouch ... ok
[INFO] [stdout] test source::claude_code::tests::label_falls_back_to_project_dir_for_windows_slug ... ok
[INFO] [stdout] test source::claude_code::tests::label_final_fallback_to_cc_when_no_project_dir ... ok
[INFO] [stdout] test source::claude_code::tests::label_marks_subagent_paths ... ok
[INFO] [stdout] test source::claude_code::tests::label_prefers_cwd_basename_when_present ... ok
[INFO] [stdout] test source::claude_code::tests::label_falls_back_to_project_dir_when_cwd_empty ... ok
[INFO] [stdout] test source::claude_code::tests::label_uses_project_dir_when_cwd_has_no_basename ... ok
[INFO] [stdout] test source::claude_code::tests::label_uses_project_dir_when_cwd_is_root ... ok
[INFO] [stdout] test source::claude_code::tests::non_subagent_events_fall_through_to_shared_arms ... ok
[INFO] [stdout] test source::claude_code::tests::string_content_turns_emit_no_tool_events ... ok
[INFO] [stdout] test source::claude_code::tests::quoted_exit_wrapper_in_user_content_never_ends_the_session ... ok
[INFO] [stdout] test source::claude_code::tests::decode_cc_line_keys_agent_id_on_cc_id_from_path ... ok
[INFO] [stdout] test source::claude_code::tests::default_paths_projects_root_honors_claude_config_dir ... ok
[INFO] [stdout] test source::claude_code::tests::default_socket_path_env_precedence_and_default_paths ... ok
[INFO] [stdout] test source::claude_code::tests::tee_pushes_hook_child_ends_and_forwards_every_event_unchanged ... ok
[INFO] [stdout] test source::claude_code::tests::subagent_hooks_with_empty_ids_are_err_not_fallthrough ... ok
[INFO] [stdout] test source::codex::tests::decode_line_keys_agent_id_on_codex_id_from_path ... ok
[INFO] [stdout] test source::codex::tests::escalated_function_call_is_waiting ... ok
[INFO] [stdout] test source::codex::tests::function_call_output_resumes_work ... ok
[INFO] [stdout] test source::codex::tests::codex_session_ended_is_always_false ... ok
[INFO] [stdout] test source::codex::tests::id_falls_back_to_stem_without_uuid ... ok
[INFO] [stdout] test source::codex::tests::id_from_rollout_path_is_trailing_uuid ... ok
[INFO] [stdout] test source::codex::tests::id_handles_non_ascii_filename_without_panic ... ok
[INFO] [stdout] test source::codex::tests::function_call_without_arguments_starts_work_not_waiting ... ok
[INFO] [stdout] test source::cc_probe::liveness_tests::duplicate_session_id_binds_a_stable_pid_regardless_of_scan_order ... ok
[INFO] [stdout] test source::codex::tests::justification_without_escalation_is_not_waiting ... ok
[INFO] [stdout] test source::codex::tests::live_ids_for_missing_root_is_some_empty_not_a_failure ... ok
[INFO] [stdout] test source::codex::tests::label_is_cx_basename ... ok
[INFO] [stdout] test source::codex::tests::non_object_line_emits_nothing ... ok
[INFO] [stdout] test source::codex::tests::live_ids_for_unrelated_root_is_empty ... ok
[INFO] [stdout] test source::codex::tests::malformed_arguments_does_not_panic_and_starts_work ... ok
[INFO] [stdout] test source::codex::tests::patch_apply_end_resumes_work ... ok
[INFO] [stdout] test source::codex::tests::plain_function_call_is_activity_start ... ok
[INFO] [stdout] test source::codex::tests::non_subagent_events_fall_through_to_shared_arms ... ok
[INFO] [stdout] test source::codex::tests::non_rollout_files_under_root_are_excluded ... ok
[INFO] [stdout] test source::codex::tests::probe_root_requires_dot_codex_sessions_layout ... ok
[INFO] [stdout] test source::codex::tests::rollout_outside_root_is_excluded ... ok
[INFO] [stdout] test source::codex::tests::probe_root_accepts_resolved_codex_home_sessions_layout ... ok
[INFO] [stdout] test source::codex::tests::shared_rollout_binds_the_larger_pid_regardless_of_enumeration_order ... ok
[INFO] [stdout] test source::codex::tests::task_complete_and_abort_end_activity ... ok
[INFO] [stdout] test source::codex::tests::rollout_under_root_yields_its_uuid_bound_to_its_pid ... ok
[INFO] [stdout] test source::codex::tests::session_meta_and_unknown_emit_nothing ... ok
[INFO] [stdout] test source::codex::tests::task_started_is_activity_start ... ok
[INFO] [stdout] test source::codex::tests::subagent_hooks_with_empty_ids_are_err_not_fallthrough ... ok
[INFO] [stdout] test source::decoder::tests::absent_source_still_defaults_to_claude ... ok
[INFO] [stdout] test source::decoder::tests::codex_permission_request_maps_to_identity_plus_waiting ... ok
[INFO] [stdout] test source::decoder::tests::codex_session_start_without_transcript_path_uses_session_id ... ok
[INFO] [stdout] test source::decoder::tests::codex_stop_maps_to_activity_end_with_no_identity ... ok
[INFO] [stdout] test source::decoder::tests::codex_user_prompt_submit_creates_agent_via_session_start ... ok
[INFO] [stdout] test layout::tests::meeting_slots_track_meeting_rooms ... ok
[INFO] [stdout] test source::decoder::tests::cc_session_start_reason_source_does_not_hijack_cli_source ... ok
[INFO] [stdout] test source::decoder::tests::normalize_path_key_folds_separators_and_case_on_windows ... ok
[INFO] [stdout] test source::decoder::tests::empty_cwd_on_tool_hook_decodes_to_identity_with_none_cwd ... ok
[INFO] [stdout] test source::decoder::tests::normalize_path_key_is_identity_on_unix ... ok
[INFO] [stdout] test source::decoder::tests::normalize_path_key_strips_verbatim_prefix_on_windows ... ok
[INFO] [stdout] test source::decoder::tests::normalize_path_key_verbatim_prefix_is_inert_on_unix ... ok
[INFO] [stdout] test source::decoder::tests::pixtuoid_source_private_key_drives_cli_attribution ... ok
[INFO] [stdout] test source::decoder::tests::pre_tool_use_decodes_to_identity_plus_activity_start ... ok
[INFO] [stdout] test source::codex::tests::web_and_tool_search_keep_the_agent_active ... ok
[INFO] [stdout] test source::decoder::tests::session_start_and_session_end_carry_no_identity ... ok
[INFO] [stdout] test source::decoder::tests::notification_decodes_to_identity_plus_waiting ... ok
[INFO] [stdout] test source::decoder::tests::post_tool_use_without_cwd_decodes_to_identity_with_none_cwd ... ok
[INFO] [stdout] test source::decoder::tests::task_prefixed_tools_without_subagent_type_are_not_the_dispatch ... ok
[INFO] [stdout] test source::decoder::tests::subagent_hooks_from_sources_without_a_custom_decoder_bail ... ok
[INFO] [stdout] test source::decoder::tests::unknown_source_decodes_cc_shaped_under_its_own_namespace ... ok
[INFO] [stdout] test source::claude_code::tests::subagent_stop_with_stemless_path_falls_back_to_prefixed_id ... ok
[INFO] [stdout] test source::exit_watch::tests::live::exit_watch_already_dead_pid_fires_immediately ... ok
[INFO] [stdout] test source::exit_watch::tests::live::drop_stops_cleanly ... ok
[INFO] [stdout] test source::fd_probe::tests::open_vnode_paths_for_dead_pid_is_empty_not_panic ... ok
[INFO] [stdout] test source::exit_watch::tests::live::exit_watch_reports_a_killed_child ... ok
[INFO] [stdout] test layout::tests::meeting_table_is_centered_between_its_two_sofas ... ok
[INFO] [stdout] test source::fd_probe::tests::open_vnode_paths_sees_a_file_this_process_holds_open ... ok
[INFO] [stdout] test source::fd_probe::tests::pids_by_name_for_nonexistent_process_is_some_empty ... ok
[INFO] [stdout] test pose::tests::non_trip_cycle_is_seated_idle_throughout ... ok
[INFO] [stdout] test source::jsonl::tests::default_id_from_path_returns_normalized_path_key ... ok
[INFO] [stdout] test source::decoder::tests::unknown_reasonix_event_errs_end_to_end_not_falls_through ... ok
[INFO] [stdout] test source::jsonl::tests::detect_parent_id_derives_grandparent_transcript_key ... ok
[INFO] [stdout] test source::jsonl::tests::detect_parent_id_handles_workflow_nesting ... ok
[INFO] [stdout] test source::exit_watch::tests::live::watch_bogus_pid_does_not_panic ... ok
[INFO] [stdout] test source::jsonl::tests::detect_parent_id_keys_on_parent_uuid_component ... ok
[INFO] [stdout] test source::jsonl::tests::detect_parent_id_none_for_regular_and_lookalike_paths ... ok
[INFO] [stdout] test source::jsonl::tests::detect_parent_id_survives_cwd_split ... ok
[INFO] [stdout] test source::jsonl::tests::extract_cwd_reads_top_level_and_nested_payload ... ok
[INFO] [stdout] test source::fd_probe::tests::pids_by_name_returns_without_panic ... ok
[INFO] [stdout] test source::fd_probe::tests::pids_by_name_finds_a_spawned_child ... ok
[INFO] [stdout] test source::jsonl::tests::failure_latch_fires_once_per_state_change ... ok
[INFO] [stdout] test source::jsonl::tests::gated_revive_falls_back_to_head_cwd_when_tail_has_none ... ok
[INFO] [stdout] test source::hook::tests::handle_conn_decodes_one_line_via_duplex ... ok
[INFO] [stdout] test source::jsonl::tests::child_end_unclaim_drains_stragglers_then_releases_without_session_end ... ok
[INFO] [stdout] test source::jsonl::tests::gated_file_revives_on_small_append_with_tail_cwd ... ok
[INFO] [stdout] test source::jsonl::tests::known_oversized_tail_emits_session_end_if_the_skipped_span_ended ... ok
[INFO] [stdout] test source::jsonl::tests::gated_file_oversized_ended_append_stays_unregistered ... ok
[INFO] [stdout] test source::jsonl::tests::oversized_attach_ended_session_skips_task_scan ... ok
[INFO] [stdout] test source::jsonl::tests::oversized_attach_unregistered_skips_task_scan ... ok
[INFO] [stdout] test source::jsonl::tests::gated_file_registers_on_oversized_first_append ... ok
[INFO] [stdout] test source::jsonl::tests::probe_live_oversized_ended_first_sight_stays_unregistered ... ok
[INFO] [stdout] test source::jsonl::tests::probe_live_stale_file_registers_at_first_sight ... ok
[INFO] [stdout] test source::jsonl::tests::probe_miss_keeps_the_stale_gate ... ok
[INFO] [stdout] test source::jsonl::tests::oversized_ended_skip_unclaims_seen_so_a_later_append_re_registers ... ok
[INFO] [stdout] test source::jsonl::tests::released_claim_is_not_revouched_into_a_full_replay ... ok
[INFO] [stdout] test source::jsonl::tests::scan_pass_re_vouches_a_transiently_gated_live_file ... ok
[INFO] [stdout] test source::jsonl::tests::session_end_unclaims_seen_so_a_later_append_re_registers ... ok
[INFO] [stdout] test source::jsonl::tests::child_end_unclaims_ttl_prunes_unmatched_entries ... ok
[INFO] [stdout] test source::jsonl::tests::session_exit_purges_live_so_a_probe_failure_pass_cannot_revouch ... ok
[INFO] [stdout] test source::jsonl::tests::session_exit_drains_pending_bytes_so_a_straggler_walk_cannot_resurrect ... ok
[INFO] [stdout] test source::jsonl::tests::unbind_session_drops_only_emptied_pid_entries ... ok
[INFO] [stdout] test source::jsonl::tests::probe_never_gates_a_recent_file ... ok
[INFO] [stdout] test source::jsonl::tests::unclaim_for_foreign_id_stays_pending_and_leaves_local_claims_alone ... ok
[INFO] [stdout] test source::jsonl::tests::walk_jsonl_emits_for_a_first_sight_recent_live_file ... ok
[INFO] [stdout] test source::jsonl::tests::probe_parent_uuid_does_not_admit_subagent_transcript ... ok
[INFO] [stdout] test source::manager::tests::fatal_source_exit_is_published_on_the_health_channel ... ok
[INFO] [stdout] test source::manager::tests::spawn_without_health_listener_does_not_panic_on_death ... ok
[INFO] [stdout] test source::jsonl::tests::walk_jsonl_gates_a_first_sight_ended_file ... ok
[INFO] [stdout] test source::jsonl::tests::walk_jsonl_gates_a_first_sight_stale_file ... ok
[INFO] [stdout] test source::reasonix::tests::all_events_for_one_cwd_share_one_agent_id ... ok
[INFO] [stdout] test source::reasonix::tests::activity_arms_prepend_identity_with_cwd_keyed_session ... ok
[INFO] [stdout] test source::reasonix::tests::long_targets_are_truncated ... ok
[INFO] [stdout] test source::reasonix::tests::empty_or_missing_cwd_is_malformed ... ok
[INFO] [stdout] test source::reasonix::tests::notification_maps_to_waiting_with_message ... ok
[INFO] [stdout] test source::reasonix::tests::notification_without_message_falls_back_to_waiting ... ok
[INFO] [stdout] test source::reasonix::tests::non_object_payload_is_malformed ... ok
[INFO] [stdout] test source::reasonix::tests::post_tool_use_and_stop_are_activity_end ... ok
[INFO] [stdout] test source::jsonl::tests::oversized_attach_dispatch_outside_window_is_missed ... ok
[INFO] [stdout] test source::reasonix::tests::pre_tool_use_is_activity_start_with_no_tool_id ... ok
[INFO] [stdout] test source::jsonl::tests::oversized_attach_seeds_unmatched_task_dispatch ... ok
[INFO] [stdout] test source::reasonix::tests::session_end_maps_to_session_end ... ok
[INFO] [stdout] test source::reasonix::tests::session_start_keys_on_cwd ... ok
[INFO] [stdout] test source::reasonix::tests::stop_session_events_and_session_end_carry_no_identity ... ok
[INFO] [stdout] test source::reasonix::tests::tool_target_uses_reasonix_arg_vocabulary ... ok
[INFO] [stdout] test source::reasonix::tests::subagent_dispatch_family_maps_to_task ... ok
[INFO] [stdout] test source::reasonix::tests::user_prompt_submit_is_the_resurrect_session_start ... ok
[INFO] [stdout] test source::registry::tests::all_label_prefixes_are_unique ... ok
[INFO] [stdout] test source::reasonix::tests::unknown_event_bails_loudly ... ok
[INFO] [stdout] test source::registry::tests::descriptor_names_match_module_source_name_consts ... ok
[INFO] [stdout] test source::registry::tests::every_descriptor_has_two_char_label_prefix ... ok
[INFO] [stdout] test source::registry::tests::descriptor_for_resolves_known_and_rejects_unknown ... ok
[INFO] [stdout] test source::registry::tests::short_idle_reap_fires_for_codex_only ... ok
[INFO] [stdout] test source::registry_bridge_tests::registry_covers_exactly_the_registered_sources ... ok
[INFO] [stdout] test sprite::format::tests::final_frame_width_error_carries_line_context ... ok
[INFO] [stdout] test sprite::format::tests::palette_value_rejects_sign_prefixed_or_non_hex ... ok
[INFO] [stdout] test sprite::tests::mirror_horizontal_reverses_each_row ... ok
[INFO] [stdout] test source::reasonix::tests::pre_tool_use_without_tool_name_displays_question_mark ... ok
[INFO] [stdout] test sprite::tests::palette_get_and_override ... ok
[INFO] [stdout] test sprite::tests::rgb_buffer_put_get_roundtrip ... ok
[INFO] [stdout] test state::fsm::tests::enter_active_accumulates_prior_active_span_and_resets_timers ... ok
[INFO] [stdout] test source::jsonl::tests::task_scan_handles_partial_first_line ... ok
[INFO] [stdout] test layout::tests::narrow_width_pod_decor_stays_inside_the_band_and_off_band_slots_are_skipped ... ok
[INFO] [stdout] test state::fsm::tests::enter_delegating_from_waiting_does_not_accumulate_or_stamp_last_event ... ok
[INFO] [stdout] test state::fsm::tests::enter_waiting_accumulates_from_active ... ok
[INFO] [stdout] test layout::tests::partial_bottom_row_caps_mid_fill_when_agents_run_out ... ok
[INFO] [stdout] test source::reasonix::tests::tool_args_spoofed_subagent_type_does_not_make_task ... ok
[INFO] [stdout] test state::fsm::tests::mark_exiting_is_write_once ... ok
[INFO] [stdout] test state::fsm::tests::rename_is_idempotent_but_always_refreshes_liveness ... ok
[INFO] [stdout] test state::fsm::tests::settle_to_idle_folds_active_span_up_to_pending_not_now ... ok
[INFO] [stdout] test state::fsm::tests::settle_to_idle_on_idle_is_a_noop_but_clears_mark ... ok
[INFO] [stdout] test state::fsm::tests::settle_to_idle_resolves_a_waiting_slot_without_accumulating ... ok
[INFO] [stdout] test state::reducer::tests::child_ledger_is_stamped_on_sweep_and_pruned_by_gc ... ok
[INFO] [stdout] test state::reducer::tests::delegating_slot_with_hook_silent_caps_gets_waiting_window ... ok
[INFO] [stdout] test state::reducer::tests::every_registered_source_has_two_char_label_prefix ... ok
[INFO] [stdout] test state::reducer::tests::gated_before_waiting_evicted_on_apply_path_sweep ... ok
[INFO] [stdout] test state::reducer::tests::fallback_label_detection_covers_each_shape_and_spares_real_labels ... ok
[INFO] [stdout] test state::reducer::tests::resurrect_in_place_evicts_correlation_maps_but_keeps_proof_of_life ... ok
[INFO] [stdout] test source::jsonl::tests::probe_live_oversized_stale_file_registers_via_head_read ... ok
[INFO] [stdout] test state::reducer::tests::stale_timeout_constants_have_their_intended_durations ... ok
[INFO] [stdout] test state::scope::tests::has_waiting_ancestor_excludes_self_parented_node ... ok
[INFO] [stdout] test state::scope::tests::has_waiting_ancestor_false_when_parent_id_dangling ... ok
[INFO] [stdout] test layout::tests::meeting_slots_face_the_table ... ok
[INFO] [stdout] test state::scope::tests::has_waiting_ancestor_excludes_self_reached_via_cycle ... ok
[INFO] [stdout] test state::scope::tests::refresh_lineage_terminates_on_parent_id_cycle ... ok
[INFO] [stdout] test state::scope::tests::has_waiting_ancestor_true_via_cyclic_ancestor ... ok
[INFO] [stdout] test state::scope::tests::refresh_lineage_tolerates_dangling_parent_id ... ok
[INFO] [stdout] test state::scope::tests::would_create_cycle_rejects_two_node_closure ... ok
[INFO] [stdout] test state::tests::floor_local_desk_variable ... ok
[INFO] [stdout] test state::tests::floor_of_leading_zero_capacity_floors ... ok
[INFO] [stdout] test state::scope::tests::would_create_cycle_allows_legitimate_and_dangling_links ... ok
[INFO] [stdout] test state::scope::tests::would_create_cycle_rejects_deep_chain_closure ... ok
[INFO] [stdout] test state::tests::floor_of_skips_zero_capacity_floors ... ok
[INFO] [stdout] test state::tests::floor_of_uniform ... ok
[INFO] [stdout] test state::scope::tests::would_create_cycle_rejects_self_parent ... ok
[INFO] [stdout] test state::scope::tests::would_create_cycle_terminates_on_preexisting_cycle_elsewhere ... ok
[INFO] [stdout] test state::tests::floor_local_desk_oob_lands_on_last_nonempty_floor ... ok
[INFO] [stdout] test state::tests::floor_of_variable_capacities ... ok
[INFO] [stdout] test state::tests::floor_range_clamps_oob_index ... ok
[INFO] [stdout] test state::tests::next_free_desk_overflows_to_second_floor ... ok
[INFO] [stdout] test state::tests::next_free_desk_returns_none_when_full ... ok
[INFO] [stdout] test state::tests::next_free_desk_with_variable_capacities ... ok
[INFO] [stdout] test state::tests::next_free_desk_starts_at_zero ... ok
[INFO] [stdout] test state::tests::total_capacity_sums_all_floors ... ok
[INFO] [stdout] test state::tests::single_floor_local_is_the_identity_cast ... ok
[INFO] [stdout] test state::tests::zero_capacity_floor_skipped_by_next_free_desk ... ok
[INFO] [stdout] test state::tests::floor_range_variable ... ok
[INFO] [stdout] test walkable::tests::out_of_bounds_query_is_not_walkable ... ok
[INFO] [stdout] test walkable::tests::mark_blocked_pads_and_clips ... ok
[INFO] [stdout] test walkable::tests::mark_walkable_carves_a_cutout ... ok
[INFO] [stdout] test state::tests::scene_supports_up_to_ten_floors ... ok
[INFO] [stdout] test walkable::tests::overlay_blocks_inside_rects ... ok
[INFO] [stdout] test walkable::tests::overlay_signature_changes_with_contents ... ok
[INFO] [stdout] test state::scope::tests::has_waiting_ancestor_breaks_on_cycle_with_no_waiting_node ... ok
[INFO] [stdout] test walkable::tests::new_open_is_all_walkable ... ok
[INFO] [stdout] test walkable::tests::overlay_signature_is_order_independent ... ok
[INFO] [stdout] test sprite::tests::rgbbuffer_get_out_of_bounds_panics_in_debug - should panic ... ok
[INFO] [stdout] test source::jsonl::tests::oversized_attach_matched_task_is_not_seeded ... ok
[INFO] [stdout] test layout::tests::meeting_stand_points_are_walkable ... ok
[INFO] [stdout] test source::exit_watch::tests::live::watch_is_idempotent ... ok
[INFO] [stdout] test layout::tests::pod_decor_south_edge_stays_inside_the_band_and_spilling_slots_are_skipped ... ok
[INFO] [stdout] test layout::tests::every_waypoint_kind_is_placed_in_some_layout ... ok
[INFO] [stdout] test layout::tests::compute_does_not_overflow_on_huge_terminal ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 361 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.46s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e.rs (/opt/rustwide/target/debug/deps/e2e-c0de1238b89ae003)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/reducer/main.rs (/opt/rustwide/target/debug/deps/reducer-714e3c66c4ba8431)
[INFO] [stdout] 
[INFO] [stdout] running 116 tests
[INFO] [stdout] test activity::active_ms_preserved_when_waiting_interrupts_active ... ok
[INFO] [stdout] test activity::activity_end_arms_debounce_then_tick_flips_to_idle ... ok
[INFO] [stdout] test activity::active_ms_preserved_when_task_arrives_during_active_tool ... ok
[INFO] [stdout] test activity::activity_start_inside_grace_window_cancels_debounce ... ok
[INFO] [stdout] test activity::active_ms_does_not_double_count_on_duplicate_activity_end ... ok
[INFO] [stdout] test activity::activity_start_sets_state_active ... ok
[INFO] [stdout] test activity::codex_permission_then_jsonl_output_resumes_to_active ... ok
[INFO] [stdout] test activity::gated_tool_end_while_waiting_resolves_to_idle_after_grace ... ok
[INFO] [stdout] test activity::parallel_tool_end_while_waiting_keeps_waiting ... ok
[INFO] [stdout] test activity::tool_call_count_increments_on_activity_start ... ok
[INFO] [stdout] test activity::turn_end_stop_hook_resolves_stale_waiting ... ok
[INFO] [stdout] test activity::waiting_sets_state_with_reason ... ok
[INFO] [stdout] test child_ledger::child_session_start_past_tombstone_ttl_registers ... ok
[INFO] [stdout] test child_ledger::adopted_ledger_parent_still_runs_the_cycle_filter ... ok
[INFO] [stdout] test child_ledger::jsonl_child_session_start_within_tombstone_is_gated_too ... ok
[INFO] [stdout] test child_ledger::late_parented_restart_of_an_ended_child_is_gated_by_the_child_ledger ... ok
[INFO] [stdout] test display::capacity_dropped_unknown_cwd_session_consumes_no_ghost_ordinal ... ok
[INFO] [stdout] test display::ghost_label_counter_is_contiguous_after_named_sessions ... ok
[INFO] [stdout] test display::session_start_with_cwd_derives_label_from_basename ... ok
[INFO] [stdout] test display::session_start_codex_source_gets_cx_label ... ok
[INFO] [stdout] test child_ledger::hook_session_end_tombstone_blocks_reordered_trailing_event_synthesis ... ok
[INFO] [stdout] test display::session_start_without_cwd_falls_back_to_cc_label ... ok
[INFO] [stdout] test lifecycle::backfill_does_not_clobber_a_renamed_label ... ok
[INFO] [stdout] test lifecycle::duplicate_session_start_never_overwrites_established_cwd_or_label ... ok
[INFO] [stdout] test lifecycle::codex_subagent_cascades_with_parent_on_session_end ... ok
[INFO] [stdout] test lifecycle::duplicate_session_start_refreshes_liveness ... ok
[INFO] [stdout] test child_ledger::parentless_revival_start_of_an_ended_codex_child_relinks_via_ledger ... ok
[INFO] [stdout] test lifecycle::duplicate_session_start_backfills_hook_synthesized_slot ... ok
[INFO] [stdout] test lifecycle::duplicate_session_start_with_real_cwd_heals_an_unknown_cwd_ghost ... ok
[INFO] [stdout] test child_ledger::non_child_session_end_tombstone_alone_gates_a_parented_start ... ok
[INFO] [stdout] test lifecycle::hook_activity_start_for_unknown_id_synthesizes_slot_and_goes_active ... ok
[INFO] [stdout] test display::rename_for_unknown_agent_is_noop ... ok
[INFO] [stdout] test lifecycle::hook_identity_does_not_clobber_existing_identity ... ok
[INFO] [stdout] test lifecycle::hook_identity_backfills_blank_synthesized_slot ... ok
[INFO] [stdout] test display::rename_updates_slot_label ... ok
[INFO] [stdout] test lifecycle::hook_identity_registers_unknown_id_with_real_identity ... ok
[INFO] [stdout] test lifecycle::hook_identity_desk_refusal_is_quiet ... ok
[INFO] [stdout] test lifecycle::hook_identity_respects_session_end_tombstone ... ok
[INFO] [stdout] test lifecycle::hook_identity_without_cwd_registers_reap_exempt_blank_cwd ... ok
[INFO] [stdout] test lifecycle::hook_session_end_for_unknown_id_does_not_create_slot ... ok
[INFO] [stdout] test lifecycle::hook_synthesized_slot_is_exempt_from_unknown_cwd_reap ... ok
[INFO] [stdout] test child_ledger::tombstoned_codex_child_flat_first_sight_relinks_within_ledger_ttl ... ok
[INFO] [stdout] test lifecycle::hook_waiting_for_unknown_id_synthesizes_slot_in_waiting_state ... ok
[INFO] [stdout] test lifecycle::jsonl_event_for_unknown_id_stays_a_no_op ... ok
[INFO] [stdout] test lifecycle::jsonl_identity_is_a_no_op ... ok
[INFO] [stdout] test lifecycle::jsonl_session_start_after_hook_synthesis_coalesces_into_same_slot ... ok
[INFO] [stdout] test lifecycle::refused_hook_registration_does_not_poison_dedup_for_the_later_jsonl_copy ... ok
[INFO] [stdout] test lifecycle::resurrect_in_place_clears_stale_active_tasks_so_fresh_session_hooks_apply ... ok
[INFO] [stdout] test lifecycle::session_end_marks_slot_exiting_then_tick_removes_it_after_grace ... ok
[INFO] [stdout] test lifecycle::resurrect_in_place_cancels_stale_pending_b1_cascade ... ok
[INFO] [stdout] test lifecycle::resurrect_in_place_folds_the_active_span_into_active_ms ... ok
[INFO] [stdout] test lifecycle::session_start_does_not_reparent_when_parent_already_set ... ok
[INFO] [stdout] test lifecycle::session_start_creates_idle_slot_at_first_free_desk ... ok
[INFO] [stdout] test lifecycle::session_start_on_exiting_slot_resurrects_in_place ... ok
[INFO] [stdout] test lifecycle::session_start_dropped_when_all_desks_occupied ... ok
[INFO] [stdout] test liveness::active_subagent_keeps_parent_alive_via_jsonl_events ... ok
[INFO] [stdout] test lifecycle::session_start_enriches_parent_id_on_existing_orphan ... ok
[INFO] [stdout] test activity::jsonl_none_id_end_while_waiting_keeps_waiting ... ok
[INFO] [stdout] test liveness::codex_idle_agent_reaps_faster_than_claude_idle ... ok
[INFO] [stdout] test lifecycle::two_step_backfill_source_first_then_cwd_still_upgrades_the_label ... ok
[INFO] [stdout] test lifecycle::session_start_on_exiting_subagent_does_not_resurrect ... ok
[INFO] [stdout] test lifecycle::session_start_overflows_to_floor1_with_heterogeneous_capacity ... ok
[INFO] [stdout] test activity::active_ms_accumulates_on_state_transitions ... ok
[INFO] [stdout] test liveness::proof_of_life_lapse_restores_normal_sweep ... ok
[INFO] [stdout] test liveness::codex_vouched_idle_slot_outlives_short_idle_reap ... ok
[INFO] [stdout] test liveness::fresh_event_resets_stale_timer ... ok
[INFO] [stdout] test liveness::long_delegation_keeps_parent_and_live_subagent_alive ... ok
[INFO] [stdout] test liveness::mutual_waiting_parent_cycle_is_refused_at_the_link_seam_and_reaped ... ok
[INFO] [stdout] test liveness::proof_of_life_does_not_block_session_end ... ok
[INFO] [stdout] test liveness::proof_of_life_does_not_touch_activity_state ... ok
[INFO] [stdout] test liveness::proof_of_life_exempts_active_slot_from_stale_sweep ... ok
[INFO] [stdout] test liveness::proof_of_life_for_unknown_id_is_a_no_op ... ok
[INFO] [stdout] test liveness::reasonix_delegating_slot_survives_the_active_timeout ... ok
[INFO] [stdout] test liveness::proof_of_life_on_delegating_parent_shields_its_active_subtree ... ok
[INFO] [stdout] test liveness::session_end_cascade_marks_all_descendants_exiting ... ok
[INFO] [stdout] test liveness::stale_active_agent_uses_shorter_timeout_than_idle ... ok
[INFO] [stdout] test liveness::session_end_cascades_to_grandchildren ... ok
[INFO] [stdout] test liveness::session_end_cascades_to_children ... ok
[INFO] [stdout] test liveness::stale_sweep_cascades_to_children ... ok
[INFO] [stdout] test liveness::stale_sweep_cascade_skips_unrelated_fresh_agents ... ok
[INFO] [stdout] test liveness::stale_sweep_spares_grandchild_under_a_waiting_ancestor ... ok
[INFO] [stdout] test liveness::stale_sweep_spares_subagent_blocked_under_a_waiting_parent ... ok
[INFO] [stdout] test liveness::sweep_stale_marks_old_agent_exiting_on_tick ... ok
[INFO] [stdout] test liveness::stale_sweep_already_cascaded_child_is_skipped_in_pass_two ... ok
[INFO] [stdout] test tasks::hook_activity_during_active_task_is_suppressed ... ok
[INFO] [stdout] test liveness::vouched_idle_parent_without_tasks_does_not_shield_idle_child ... ok
[INFO] [stdout] test tasks::active_tasks_drained_by_jsonl_end_even_if_hook_end_arrived_first ... ok
[INFO] [stdout] test liveness::waiting_parent_cycle_is_still_reaped_by_the_stale_sweep ... ok
[INFO] [stdout] test tasks::hook_activity_without_active_task_applies_normally ... ok
[INFO] [stdout] test liveness::vouch_lapse_restores_subtree_sweep ... ok
[INFO] [stdout] test liveness::stale_sweep_cascades_to_grandchildren ... ok
[INFO] [stdout] test liveness::unknown_cwd_agent_reaps_faster ... ok
[INFO] [stdout] test tasks::hook_wins_dedup_drops_jsonl_duplicate_within_window ... ok
[INFO] [stdout] test tasks::jsonl_duplicate_of_recent_hook_is_dropped ... ok
[INFO] [stdout] test tasks::jsonl_event_after_dedup_window_is_applied ... ok
[INFO] [stdout] test tasks::jsonl_ordinary_tool_end_drains_when_hook_end_drops ... ok
[INFO] [stdout] test tasks::jsonl_task_self_end_drains_when_hook_end_drops ... ok
[INFO] [stdout] test tasks::jsonl_task_start_duplicate_does_not_clobber_waiting_parent ... ok
[INFO] [stdout] test tasks::jsonl_task_start_replay_outside_dedup_window_does_not_clobber_waiting_parent ... ok
[INFO] [stdout] test tasks::late_batched_jsonl_pair_after_delivered_hook_end_is_fully_dropped ... ok
[INFO] [stdout] test tasks::lagged_jsonl_task_pair_after_drain_does_not_clobber_waiting_parent ... ok
[INFO] [stdout] test tasks::late_jsonl_replay_of_drained_task_end_does_not_false_resolve_waiting ... ok
[INFO] [stdout] test tasks::parent_waiting_on_subagent_permission_resolves_when_the_subagent_resumes ... ok
[INFO] [stdout] test tasks::second_drain_inside_grace_restarts_the_cascade_clock ... ok
[INFO] [stdout] test tasks::late_jsonl_dispatch_copy_inside_grace_cancels_premature_cascade ... ok
[INFO] [stdout] test tasks::subagent_is_removed_promptly_when_its_parent_task_completes ... ok
[INFO] [stdout] test tasks::subagent_jsonl_activity_is_unaffected_by_parent_task_suppression ... ok
[INFO] [stdout] test tasks::suppressed_parallel_task_dispatch_jsonl_copy_survives_dedup_and_tracks ... ok
[INFO] [stdout] test tasks::task_drain_keeps_parallel_ordinary_tool_gate ... ok
[INFO] [stdout] test tasks::oversized_attach_synthesized_task_start_restores_suppression_and_b1 ... ok
[INFO] [stdout] test tasks::task_drain_while_parent_waiting_keeps_waiting ... ok
[INFO] [stdout] test child_ledger::hook_event_after_tombstone_ttl_synthesizes_again ... ok
[INFO] [stdout] test child_ledger::reasonix_resurrect_is_unaffected_by_a_ledger_entry_for_another_id ... ok
[INFO] [stdout] test child_ledger::parentless_session_start_enriching_a_parentless_child_slot_adopts_ledger_parent ... ok
[INFO] [stdout] test child_ledger::tombstoned_parentless_session_start_still_registers ... ok
[INFO] [stderr]      Running tests/render/main.rs (/opt/rustwide/target/debug/deps/render-a12add64013ab0be)
[INFO] [stdout] test liveness::stale_idle_agent_is_marked_exiting_after_timeout ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 116 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 38 tests
[INFO] [stdout] test animator::frame_index_advances_with_time ... ok
[INFO] [stdout] test animator::single_frame_always_returns_zero ... ok
[INFO] [stdout] test blit::blit_ignores_out_of_bounds ... ok
[INFO] [stdout] test blit::blit_writes_opaque_pixels_and_skips_transparent ... ok
[INFO] [stdout] test blit::dotted_hline_alternates ... ok
[INFO] [stdout] test blit::dotted_hline_breaks_when_dash_overruns_x1 ... ok
[INFO] [stdout] test blit::dotted_hline_zero_dash_zero_gap_terminates_and_paints_nothing ... ok
[INFO] [stdout] test blit::half_block_cells_on_empty_buffers_returns_empty_grid ... ok
[INFO] [stdout] test blit::half_block_cells_pairs_rows ... ok
[INFO] [stdout] test blit::half_block_cells_pads_odd_height_with_repeated_row ... ok
[INFO] [stdout] test blit::line_diagonal ... ok
[INFO] [stdout] test blit::line_horizontal ... ok
[INFO] [stdout] test blit::outlined_blit_paints_halo_around_silhouette ... ok
[INFO] [stdout] test blit::outlined_blit_does_not_outline_interior_opaque_pixels ... ok
[INFO] [stdout] test blit::line_clips_out_of_bounds_endpoints ... ok
[INFO] [stdout] test blit::dotted_hline_near_u16_max_does_not_overflow ... ok
[INFO] [stdout] test format::loads_mini_pack ... ok
[INFO] [stdout] test format::mini_pack_reports_missing_required ... ok
[INFO] [stdout] test format::rejects_empty_source_with_no_frames ... ok
[INFO] [stdout] test format::load_pack_rejects_parent_dir_frame_path ... ok
[INFO] [stdout] test format::merge_from_inherits_furniture_only_and_never_clobbers_own ... ok
[INFO] [stdout] test format::rejects_frame_block_with_no_rows ... ok
[INFO] [stdout] test format::rejects_palette_value_not_six_hex_digits ... ok
[INFO] [stdout] test format::rejects_palette_key_longer_than_one_char ... ok
[INFO] [stdout] test format::load_pack_rejects_absolute_frame_path_escaping_dir ... ok
[INFO] [stdout] test format::rejects_multi_char_pixel_token ... ok
[INFO] [stdout] test format::rejects_unknown_palette_key ... ok
[INFO] [stdout] test format::rejects_inconsistent_row_widths ... ok
[INFO] [stdout] test format::skeleton_pack_passes_validation ... ok
[INFO] [stdout] test format::robot_pack_passes_validation ... ok
[INFO] [stdout] test format::default_pack_passes_validation ... ok
[INFO] [stdout] test format::validate_reports_insufficient_frames_for_single_frame_typing ... ok
[INFO] [stdout] test format::validation_detects_unknown_animations ... ok
[INFO] [stdout] test format::default_pack_loads_with_required_animations ... ok
[INFO] [stdout] test format::missing_animation_returns_none ... ok
[INFO] [stdout] test format::parses_two_frame_mini_sprite ... ok
[INFO] [stdout] test format::frame_wider_than_u16_max_errors_instead_of_truncating ... ok
[INFO] [stderr]      Running tests/socket_path_parity.rs (/opt/rustwide/target/debug/deps/socket_path_parity-377d9f2a3b1ee162)
[INFO] [stdout] test format::frame_taller_than_u16_max_errors_instead_of_truncating ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test shim_and_daemon_resolve_identical_socket_paths_in_all_three_branches ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/sources/main.rs (/opt/rustwide/target/debug/deps/sources-5422f039fc0a97cb)
[INFO] [stdout] 
[INFO] [stdout] running 65 tests
[INFO] [stdout] test claude::cc_hook_first_subagent_coalesces_with_later_jsonl_session_start ... ok
[INFO] [stdout] test codex::codex_reordered_subagent_stop_before_start_does_not_mint_a_phantom ... ok
[INFO] [stdout] test claude::cc_jsonl_registered_subagent_exits_cleanly_on_hook_subagent_stop ... ok
[INFO] [stdout] test claude::cc_subagent_hook_pairs_register_link_and_exit_both_agent_types ... ok
[INFO] [stdout] test claude::cc_subagent_links_renames_and_cascades_on_parent_exit ... ok
[INFO] [stdout] test codex::codex_subagent_hook_lifecycle_links_child_and_exits_on_stop ... ok
[INFO] [stdout] test decode::ag_grep_search_decodes_to_activity_start ... ok
[INFO] [stdout] test conformance::every_registered_source_has_a_coalescing_fixture ... ok
[INFO] [stdout] test decode::ag_non_integer_step_index_is_skipped ... ok
[INFO] [stdout] test decode::ag_non_object_and_missing_step_index_emit_nothing ... ok
[INFO] [stdout] test decode::ag_ask_permission_and_question_emits_waiting ... ok
[INFO] [stdout] test claude::cc_reordered_subagent_stop_before_start_does_not_mint_a_phantom ... ok
[INFO] [stdout] test decode::ag_planner_response_emits_activity_start_with_indexed_tool_use_id ... ok
[INFO] [stdout] test decode::ag_planner_response_without_tool_calls_emits_nothing ... ok
[INFO] [stdout] test decode::ag_tool_result_emits_activity_end ... ok
[INFO] [stdout] test decode::ag_uses_source_namespaced_agent_id ... ok
[INFO] [stdout] test decode::cc_empty_attribution_agent_emits_no_rename ... ok
[INFO] [stdout] test decode::cc_jsonl_agent_tool_use_is_task ... ok
[INFO] [stdout] test decode::cc_jsonl_assistant_tool_use_is_activity_start ... ok
[INFO] [stdout] test decode::cc_jsonl_tool_result_is_activity_end ... ok
[INFO] [stdout] test decode::cc_session_ended_end_then_session_start_is_not_ended ... ok
[INFO] [stdout] test codex::codex_subagent_jsonl_first_orphan_is_enriched_by_subagent_start ... ok
[INFO] [stdout] test decode::cc_subagent_start_does_not_double_prefix_an_already_prefixed_agent_id ... ok
[INFO] [stdout] test decode::cc_jsonl_plain_string_user_message_yields_no_events ... ok
[INFO] [stdout] test decode::cc_jsonl_slash_command_user_lines_yield_no_events ... ok
[INFO] [stdout] test decode::cc_session_ended_detects_session_end_subtype ... ok
[INFO] [stdout] test codex::codex_subagent_stop_before_start_is_a_safe_noop ... ok
[INFO] [stdout] test decode::cc_session_ended_returns_false_for_active_session ... ok
[INFO] [stdout] test decode::cc_subagent_start_keys_prefixed_child_and_links_parent ... ok
[INFO] [stdout] test decode::codex_subagent_start_links_child_to_parent ... ok
[INFO] [stdout] test decode::cc_subagent_stop_keys_on_agent_transcript_path_stem ... ok
[INFO] [stdout] test decode::codex_subagent_stop_ends_child_not_parent ... ok
[INFO] [stdout] test decode::decode_cc_hook_keys_on_session_id_ignoring_transcript_path ... ok
[INFO] [stdout] test decode::decode_hook_payload_with_multibyte_tool_input_does_not_panic ... ok
[INFO] [stdout] test decode::decode_hook_payload_missing_session_id_returns_err ... ok
[INFO] [stdout] test decode::cc_subagent_start_and_stop_coalesce_on_one_child_id ... ok
[INFO] [stdout] test decode::cc_session_ended_ignores_slash_command_content ... ok
[INFO] [stdout] test decode::decode_hook_payload_missing_tool_name_still_succeeds ... ok
[INFO] [stdout] test decode::cc_subagent_hooks_reject_missing_or_empty_agent_id ... ok
[INFO] [stdout] test decode::decode_notification_is_waiting ... ok
[INFO] [stdout] test decode::decode_pre_tool_use_agent_tool_is_task ... ok
[INFO] [stdout] test decode::decode_post_tool_use_carries_tool_use_id_from_payload ... ok
[INFO] [stdout] test decode::decode_post_tool_use_is_activity_end ... ok
[INFO] [stdout] test decode::decode_pre_tool_use_carries_tool_use_id_from_payload ... ok
[INFO] [stdout] test decode::decode_pre_tool_use_long_command_is_ellipsis_truncated ... ok
[INFO] [stdout] test decode::decode_pre_tool_use_write_maps_to_typing ... ok
[INFO] [stdout] test decode::cc_session_ended_ignores_string_content_containing_session_end ... ok
[INFO] [stdout] test decode::decode_pre_tool_use_missing_target_field_has_no_suffix ... ok
[INFO] [stdout] test decode::ag_skips_non_object_tool_call_and_keys_run_command ... ok
[INFO] [stdout] test decode::decode_session_end ... ok
[INFO] [stdout] test decode::decode_unknown_event_returns_err ... ok
[INFO] [stdout] test decode::empty_session_id_is_rejected ... ok
[INFO] [stdout] test decode::cc_subagent_stop_without_transcript_path_falls_back_to_prefixed_agent_id ... ok
[INFO] [stdout] test decode::codex_subagent_hooks_reject_missing_or_empty_agent_id ... ok
[INFO] [stdout] test decode::decode_session_start_with_custom_source ... ok
[INFO] [stdout] test decode::subagent_dispatch_detected_by_subagent_type_under_novel_name ... ok
[INFO] [stdout] test decode::non_dispatch_tool_is_not_task ... ok
[INFO] [stdout] test manager::manager_isolates_a_failing_source_from_siblings ... ok
[INFO] [stdout] test manager::manager_runs_multiple_sources_concurrently ... ok
[INFO] [stdout] test decode::decode_session_start ... ok
[INFO] [stdout] test decode::cc_jsonl_plain_user_message_yields_no_events ... ok
[INFO] [stdout] test decode::cc_jsonl_quoted_exit_wrapper_mid_prose_yields_no_events ... ok
[INFO] [stdout] test decode::cc_jsonl_subagent_line_with_attribution_emits_rename ... ok
[INFO] [stdout] test conformance::all_source_fixtures_decode_and_coalesce ... ok
[INFO] [stdout] test decode::hook_and_watcher_keys_coalesce_for_one_file ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 65 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/supported_sources_manifest.rs (/opt/rustwide/target/debug/deps/supported_sources_manifest-5372e82abb49754f)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test manifest_supported_set_matches_registered_sources ... ok
[INFO] [stdout] test manifest_rows_are_well_formed ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/transport/main.rs (/opt/rustwide/target/debug/deps/transport-8e86223b2dc9d9e4)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test socket::bind_respects_lock_arbitration_even_without_a_socket_file ... ok
[INFO] [stdout] test socket::bound_socket_is_owner_only_with_no_temp_residue ... ok
[INFO] [stdout] test socket::long_path_fallback_binds_owner_only ... ok
[INFO] [stdout] test socket::claude_source_degrades_to_transcript_only_when_socket_busy ... ok
[INFO] [stdout] test socket::bind_bails_when_a_live_listener_holds_the_path ... ok
[INFO] [stdout] test socket::bind_reclaims_a_stale_socket_file ... ok
[INFO] [stdout] test socket::listener_skips_malformed_line_and_keeps_going ... ok
[INFO] [stdout] test socket::listener_path_accessor_returns_bound_path ... ok
[INFO] [stdout] test socket::listener_survives_non_utf8_read_error ... ok
[INFO] [stdout] test socket::listener_parses_line_and_emits_event ... ok
[INFO] [stdout] test socket::listener_handles_concurrent_connections ... ok
[INFO] [stdout] test socket::claude_source_tee_captures_child_ends_from_the_shared_socket ... ok
[INFO] [stderr]      Running tests/watcher/main.rs (/opt/rustwide/target/debug/deps/watcher-b467f5892eaf53cc)
[INFO] [stdout] test socket::listener_drops_slow_connection_via_timeout ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.23s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 37 tests
[INFO] [stdout] test attach::cwd_split_attach_links_subagent_to_probe_live_stale_parent ... ok
[INFO] [stdout] test first_sight::codex_first_sight_session_start_carries_bare_uuid_session_id ... ok
[INFO] [stdout] test attach::delegating_parent_attach_registers_parent_and_links_subagent ... ok
[INFO] [stdout] test first_sight::watcher_registers_stale_file_when_probe_says_live ... ok
[INFO] [stdout] test first_sight::codex_watcher_registers_stale_rollout_when_probe_says_live ... ok
[INFO] [stdout] test first_sight::codex_rollout_yields_uuid_keyed_session_start ... ok
[INFO] [stdout] test liveness::instant_exit_emits_session_end_when_bound_pid_dies ... ok
[INFO] [stdout] test first_sight::watcher_custom_label_deriver ... ok
[INFO] [stdout] test first_sight::watcher_links_subagent_across_project_dirs ... ok
[INFO] [stdout] test first_sight::watcher_derives_parent_id_for_subagent_path ... ok
[INFO] [stdout] test first_sight::default_id_deriver_stays_path_keyed ... ok
[INFO] [stdout] test first_sight::first_sight_extracts_cwd_past_non_json_prefix ... ok
[INFO] [stdout] test liveness::watcher_emits_proof_of_life_for_probe_live_ids ... ok
[INFO] [stdout] test first_sight::stale_file_emits_session_start_when_written_to ... ok
[INFO] [stdout] test sources::antigravity_source_run_emits_events_from_transcript ... ok
[INFO] [stdout] test sources::claude_code_source_run_binds_socket_and_emits_events ... ok
[INFO] [stdout] test first_sight::watcher_registers_large_transcript_on_first_sight ... ok
[INFO] [stdout] test sources::codex_source_run_emits_events_from_rollout ... ok
[INFO] [stdout] test first_sight::watcher_skips_session_start_for_stale_files_on_startup ... ok
[INFO] [stdout] test tailing::watcher_emits_session_start_then_activity_for_tool_use ... ok
[INFO] [stdout] test first_sight::watcher_skips_oversized_pending_tail ... ok
[INFO] [stdout] test tailing::watcher_skips_non_utf8_line_and_keeps_going ... ok
[INFO] [stdout] test first_sight::watcher_skips_recent_file_with_session_end_marker ... ok
[INFO] [stdout] test liveness::negative_vouch_emits_session_end_after_sustained_disappearance ... ok
[INFO] [stdout] test liveness::poll_arm_refreshes_probe_snapshot_and_reemits_proof_of_life ... ok
[INFO] [stdout] test first_sight::watcher_emits_session_start_for_recent_files_on_startup ... ok
[INFO] [stdout] test tailing::watcher_resets_cursor_on_truncation_below_cursor ... ok
[INFO] [stdout] test unclaim::in_flight_multi_turn_codex_child_revives_and_relinks_via_unclaim ... ok
[INFO] [stdout] test unclaim::child_end_unclaim_lets_a_turn_n_plus_1_append_re_register ... ok
[INFO] [stdout] test attach::attach_matrix_registers_exactly_the_live_set ... ok
[INFO] [stdout] test attach::oversized_delegating_parent_attach_replays_pending_dispatch ... ok
[INFO] [stdout] test tailing::watcher_does_not_consume_partial_trailing_line ... ok
[INFO] [stdout] test liveness::instant_exit_under_probe_failure_does_not_resurrect_the_session ... ok
[INFO] [stdout] test liveness::probe_failure_changes_nothing ... ok
[INFO] [stdout] test liveness::one_missed_snapshot_does_not_end_the_session ... ok
[INFO] [stdout] test liveness::negative_vouch_confirm_unbinds_pid_so_a_later_exit_is_quiet ... ok
[INFO] [stdout] test liveness::rebound_session_survives_old_pid_death_and_follows_the_new_pid ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.30s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/pixtuoid_hook-9b4fe5b8d55b2b50)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test tests::default_socket_path_branches ... ok
[INFO] [stdout] test tests::empty_source_env_is_ignored ... ok
[INFO] [stdout] test tests::inbound_spoofed_private_key_is_stripped_when_no_source_resolves ... ok
[INFO] [stdout] test tests::no_source_env_omits_private_key_so_decoder_defaults_to_claude ... ok
[INFO] [stdout] test tests::now_ms_keeps_real_magnitude ... ok
[INFO] [stdout] test tests::source_from_argv_absent_is_none ... ok
[INFO] [stdout] test tests::source_from_argv_empty_value_is_none ... ok
[INFO] [stdout] test tests::source_from_argv_missing_value_is_none ... ok
[INFO] [stdout] test tests::source_from_argv_reads_equals_form ... ok
[INFO] [stdout] test tests::source_from_argv_reads_space_form ... ok
[INFO] [stdout] test tests::stamp_headroom_covers_worst_case_stamps ... ok
[INFO] [stdout] test tests::stamps_cli_source_under_private_key_and_leaves_public_source_untouched ... ok
[INFO] [stdout] test tests::stdin_cap_plus_headroom_equals_the_pipe_quota ... ok
[INFO] [stdout] test tests::inbound_spoofed_private_key_is_overwritten_when_source_resolves ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/shim.rs (/opt/rustwide/target/debug/deps/shim-c85b242236b33445)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test argv_source_flag_stamps_source_without_env ... ok
[INFO] [stdout] test missing_socket_exits_zero_without_blocking ... ok
[INFO] [stdout] test malformed_stdin_exits_zero ... ok
[INFO] [stdout] test delivers_one_json_line_to_listener_and_exits_zero ... ok
[INFO] [stdout] test non_utf8_argv_exits_zero ... ok
[INFO] [stdout] test stalled_listener_shim_exits_zero_within_watchdog_bound ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/shim_pipe.rs (/opt/rustwide/target/debug/deps/shim_pipe-cf447c9ede5a8fd9)
[INFO] [stderr]    Doc-tests pixtuoid
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests pixtuoid_core
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "faa821cd4326516ec477aae64a5b9aa797b184c50e192032b0d3172aa54f02e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "faa821cd4326516ec477aae64a5b9aa797b184c50e192032b0d3172aa54f02e4", kill_on_drop: false }`
[INFO] [stdout] faa821cd4326516ec477aae64a5b9aa797b184c50e192032b0d3172aa54f02e4
